javascript - 如何访问选择器的对象而不是事件选择器,
问题描述
我正在使用 jquery 创建自定义插件组件,我有一个名为 inputPinGroup 的插件,我可以使用选项启动它,并使用名称调用方法,
我创建了自定义事件“maxedinput”,它将在输入达到最大字符限制时触发(PIN 最大为 6)。然后在插件中,您可以调用诸如“禁用”和“加载”之类的方法(我将跳过其余的 pf 插件详细信息,因为与问题无关)
问题是,我想使用某种“THIS”来调用该选定 jquery 对象的 .inputPinGroup 中的方法,以便它更具可读性,
因为它在 .on() 里面,当我试图调用 $(this).inputPinGroup('disable'); 该方法不起作用,我尝试了 this.inputPinGroup('disable'); 也不会工作
我如何使用某种“this”机制访问 $("#testing-pin-input-group2") ?
$("#testing-pin-input-group2").on("maxedinput", (function (event, pinValue, param2) {
setTimeout(function(){
$("#testing-pin-input-group2").inputPinGroup('disable');// work
$("#testing-pin-input-group2").inputPinGroup('loading');// work
$(this).inputPinGroup('disable'); // doesnt work, i want to acces the $('#testing-pin-input-group2') so that code is more readable
},1000);
})
);
解决方案
经过一个小时的搜索,我似乎无法找到直接访问“this”的方法,我发现了一种我所期望的解决方法:
$("#testing-pin-input-group2").on("maxedinput", (function (event, pinValue, param2) {
var inputGroup = this;
setTimeout(function(){
$(inputGroup).inputPinGroup('disable');
},2000);
})
);