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

前端之家收集整理的这篇文章主要介绍了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相关文章