将事件参数传递给jquery绑定函数

时间:2014-05-13 07:31:08

标签: jquery

当我查看现有代码时,发现以下绑定函数

$('#tnav div[id$="linebox"].linebox').bind("click._ld",function(){
  alert('test');

        });

在bind函数参数“click._ld”中_ld的含义是什么?我以前只找到“点击”作为参数。

1 个答案:

答案 0 :(得分:3)

click._ld表示在给定名称空间的情况下绑定click事件处理程序。

来自jQuery docs:

  

事件名称可以由简化的事件名称空间限定   删除或触发事件。例如," click.myPlugin.simple"   为此特定定义了myPlugin和简单命名空间   点击事件。通过该字符串附加的单击事件处理程序可以是   使用.off(" click.myPlugin")或.off(" click.simple")删除   令人不安的其他点击处理程序附加到元素。命名空间   类似于CSS类,因为它们不是分层的;只有一个   名称需要匹配。以下划线开头的命名空间是   保留给jQuery使用。

所以你可以触发点击处理程序但只针对那个命名空间:

$(selector).trigger('click.yournamespace');

一个例子:

$(selector).bind('click.foo', function() {
    alert("foo!");
});

$(selector).bind('click', function() {
    alert("foobar!");
});

$(selector).trigger('click'); // alerts foo and foobar
$(selector).trigger('click.foo'); // alerts foo only