fre*_*ent 28 javascript jquery events triggers callback
我需要在回调中触发一个自定义事件trigger,但我无法让它工作.
我试过这个:
var $input = $( ".ui-popup-container" ).find( "input" ).eq(2);
function runtests () {
console.log("clicked the input");
};
$input.trigger('click', runtests());
Run Code Online (Sandbox Code Playgroud)
还有这个:
var $input = $( ".ui-popup-container" ).find( "input" ).eq(2);
$input.trigger('click', function(){
console.log("clicked the input");
}
Run Code Online (Sandbox Code Playgroud)
两者都不奏效.
问题:
如何在触发元素单击时运行回调函数?
Den*_*ret 25
调用时trigger,绑定事件处理程序会立即执行,因此您不需要任何回调.只是用
$input.trigger('click');
runtests();
Run Code Online (Sandbox Code Playgroud)
小智 19
是的 - 触发器不接受回调,但我们可以将回调作为参数传递.
//.trigger( eventType [, extraParameters ] )
$("#element").bind("customCall", function(e, callback){
callback();
}
var callback = function(){alert("Hello");}
$("#element").trigger("customCall",[callback]);
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助
Mah*_*kal 11
首先,您需要绑定click事件,然后才能触发click事件.
$input.bind('click', function() {
console.log("clicked the input");
});
$input.trigger('click');
Run Code Online (Sandbox Code Playgroud)
触发器没有回调函数.
.trigger( eventType [, extraParameters ] )
Run Code Online (Sandbox Code Playgroud)
你可以做什么
var $input = $( ".ui-popup-container" ).find( "input" ).eq(2);
$input.on('click',function(){
console.log("clicked the input");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75263 次 |
| 最近记录: |