【发布时间】:2012-11-21 09:35:58
【问题描述】:
使用当前版本的 jQuery (1.8.3),您仍然可以使用以下代码(显示带有和不带有命名空间的单击):
$("span")
.on("click", function(e) { console.log('click without a namespace'); })
.on("click.namespace", function(e) { console.log('click with a namespace'); })
.trigger("click!"); // "click without a namespace"
但是,这似乎在 1.9 中被删除了。 jQuery 的新版本(测试版)有没有办法复制这个特性?还是我必须像这样创建一个自定义事件:
$("span")
.on("click", function(e) { $(this).trigger("customevent"); })
.on("click.namespace", function(e) { console.log('click with a namespace'); })
.on("customevent", function(e) { console.log('"click" without a namespace'); })
.trigger("customevent");
【问题讨论】:
-
您能否更具体地说明什么不起作用?
-
@Vega from jquery 1.9 我将无法使用
click!仅触发click上的事件(查看测试链接,您将看到只有一个“测试”记录),我发布的第二个代码将“修复”该问题,但这意味着我必须再绑定一个事件。 -
你的两个样本并不完全相同......如果你让它们都一样,它们的表现都是一样的。你想说什么/做什么?在这一点上,您似乎在要求它做它正在做的事情。
-
第二个例子是我如何使用 1.9 来做到这一点(或者只是在 jsfiddle 上使用 jQuery edge),我的主要问题是是否有另一种方法来保留或多或少的旧代码并仍然保留这个未记录的功能。
-
jsfiddle.net/oceog/RczDZ/5 检查这个小提琴并告诉一键后的预期结果
标签: jquery onclick namespaces