当我查看现有代码时,发现以下绑定函数
$('#tnav div[id$="linebox"].linebox').bind("click._ld",function(){
alert('test');
});
在bind函数参数“click._ld”中_ld的含义是什么?我以前只找到“点击”作为参数。
答案 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