0

我相信在将点击事件添加到 DOM 之前将其附加到 JQuery 对象是这样完成的。

 $('.Button').on('click', '#Your-Selection', function () {
 console.log("yeahhhh!!! but this doesn't work for me :(");
 });

有没有办法将它附加到#Your-Selection 的跨度子项。这不起作用,但类似于:

 $('.Button').on('click', '#Your-Selection span', function () {
 console.log("yeahhhh!!! but this doesn't work for me :(");
 });
4

3 回答 3

0

根据 jQuery API文档,我对以下解决方案有疑问。我认为正确的方法如下:

$('#Your-Selection').on('click','span',function(){
    console.log('yeahhhh!!! this will work');
});

所以如果按钮在范围内,你可以修改上面的代码如下

$('#Your-Selection').on('click','span .Button',function(){
    console.log('yeahhhh!!! this will work');
});

所以事件只需要冒泡一个级别。如果您使用documentbody事件需要冒泡这么多级别,如果您的HTML结构很复杂。

于 2013-08-22T05:03:20.933 回答
0

请像这样使用

$(document).on('click', '#Your-Selection span', function () {
  console.log("yeahhhh!!! this will work for you :)");
});

这会将点击事件附加到 #Your-Selection 的跨度子项

于 2013-08-22T04:30:19.633 回答
0

我认为您没有问正确的问题,请查看有关方法文档的 jquery:http: //api.jquery.com/on/

如果 .Button 都不存在(在 DOM 加载时)最好将其附加到正文,但如果它存在则最好附加到整个文档或 DOM 中最近的标签的正文

你应该这样做:

$("body").on("click", ".Button #Your-Selection span", function(){
  //whatever you want
});
于 2013-08-22T04:43:53.810 回答