gpt4 book ai didi

javascript - jQuery 绑定(bind)事件序列

转载 作者:行者123 更新时间:2023-11-30 18:31:52 24 4
gpt4 key购买 nike

编辑:问题是我使用了 .select() 而不是 .find();

我有这个简单的 jQuery 代码(jsfiddle:http://jsfiddle.net/periklis/znstj/)

<div class = "someclass"><button class = "myclass">clickme</button></div>
<script>
$(document).ready(function() {
$('.someclass').select('.myclass').bind('click', function() { console.log('red'); });
$('.myclass').bind('click', function() { console.log('green'); });
});
</script>

到底为什么“绿色”总是在“红色”之前打印? (我该如何更改它以使“红色”出现在“绿色”之前?)

最佳答案

如所写,您的 .select() 调用是空操作 - 在 jQuery 中,它用于为 onselect 事件注册处理程序!

由于 .select() 是一个链接函数,它返回调用它的原始对象,结果是您将第一个 click 处理程序绑定(bind)到外部 .someclass div.

因此您看到的是冒泡的效果,点击首先点击按钮(“绿色”)然后向上冒泡到它的父级(“红色”),顺序是.

如果您调用 .select() 的目的是将第一个点击处理程序绑定(bind)到按钮,那么您应该使用 .children('.myclass') 代替。

关于javascript - jQuery 绑定(bind)事件序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9430614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com