jQuery使用参数绑定和取消绑定事件

我试图将事件绑定到包含参数的文本框.以下内容看起来好像应该这样做,但每次加载页面时都会执行.
jQuery(function(){
    jQuery('#textBox').bind('click',EventWithParam('param'));
});

每次加载页面时都会使用该参数调用该事件.这可能不起作用,因为不支持带参数的事件.如果是这样,还有另一条路线吗?

解决方法

要绑定带参数的函数,请使用匿名函数作为参数的闭包.
jQuery(function($) {
    var param = 'text';
    $('#textBox').click(function() {
        EventWithParam(param);
        // or just use it without calling out to another function
        $(this).text(param);
    });
});

您的示例是执行EventWithParam函数,然后尝试绑定到该函数调用的结果.

在未指定函数的情况下调用unbind将取消绑定指定类型的事件(包括匿名函数)的所有处理程序.如果你想专门解开该功能,你需要为它提供一个名字,如下所示:

jQuery(function($) {
    var param = 'text',clickCallback = function() {
            EventWithParam(param);
            // or just use it without calling out to another function
            $(this).text(param);
        };
    $('#textBox').click(clickCallback);
});

相关文章

jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值