Jquery 如何在连接事件时添加回调函数?
我有一个wireEvents函数,它将javascript与表单事件绑定在一起。比如说,Jquery 如何在连接事件时添加回调函数?,jquery,Jquery,我有一个wireEvents函数,它将javascript与表单事件绑定在一起。比如说, $(document).on('click', '#cancelEdit', cancelEdit); 我这样做是因为cancelEdit按钮是稍后从jsRender模板添加的。它很好用。单击按钮时,将调用cancelEdit函数 var cancelEdit = function (event) { event.preventDefault(); ... };
$(document).on('click', '#cancelEdit', cancelEdit);
我这样做是因为cancelEdit按钮是稍后从jsRender模板添加的。它很好用。单击按钮时,将调用cancelEdit函数
var cancelEdit = function (event) {
event.preventDefault();
...
};
但是现在我想像这样在cancelEdit上添加一个回调函数
var cancelEdit = function (event, callback) {
event.preventDefault();
...
};
我应该如何更新事件连接语句?像这样
$(document).on('click', '#cancelEdit', cancelEdit('click', cancelEditCallBack));
我不能让它工作。请帮忙
谢谢。您用函数调用交换了函数引用。现在,您应该在第二个定义中包装回调:
$(document).on('click', '#cancelEdit', function() {cancelEdit('click', cancelEditCallBack) });
您用函数调用交换了函数引用。现在,您应该在第二个定义中包装回调:
$(document).on('click', '#cancelEdit', function() {cancelEdit('click', cancelEditCallBack) });
您可以使用data参数向回调传递其他参数
$(document).on('click', '#cancelEdit', {cancelEditCallBack: cancelEditCallBack}, cancelEdit);
var cancelEdit = function (event) {
event.preventDefault();
event.data.cancelEditCallBack();
...
};
您可以使用data参数向回调传递其他参数
$(document).on('click', '#cancelEdit', {cancelEditCallBack: cancelEditCallBack}, cancelEdit);
var cancelEdit = function (event) {
event.preventDefault();
event.data.cancelEditCallBack();
...
};
为什么不触发您自己的自定义事件,您可以将事件侦听器添加到其中
var cancelEdit = function (event) {
event.preventDefault();
$(event.currentTarget).trigger("mycustomevent")
};
$(document).on("mycustomevent", "#cancelEdit", function (e) {
// this is your callback
})
为什么不触发您自己的自定义事件,您可以将事件侦听器添加到其中
var cancelEdit = function (event) {
event.preventDefault();
$(event.currentTarget).trigger("mycustomevent")
};
$(document).on("mycustomevent", "#cancelEdit", function (e) {
// this is your callback
})