繁体   English   中英

将事件添加到DOM之前,将其单击事件添加到jQuery对象

[英]click event to a JQuery object before adding it to the DOM

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

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

有没有一种方法可以将其附加到#Your-Selection的span子代中。 这不起作用,但是类似:

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

请这样使用

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

这会将点击事件附加到#Your-Selection的span子级

我认为您不是在问正确的问题,请查看方法文档中的jquery: http : //api.jquery.com/on/

如果两个按钮都不存在(在DOM加载时),最好将其附加到主体,但如果存在,则最好将整个文档或您在DOM中拥有的最接近的标记附加到主体。

您应该执行以下操作:

$("body").on("click", ".Button #Your-Selection span", function(){
  //whatever you want
});

根据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结构复杂,则需要将其扩展到多个级别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM