jQuery 的事件处理程序工作得很好但不应该因为它不在 ready() 函数中
Event handler for jQuery works great but shouldn't because it's not in ready() function
我犯了一个错误,将所有带有 class cancelAction 的链接的事件处理程序放在了文档加载时执行的函数之外,如下所示:
$(document).ready(function () { ... });
$(".cancelAction").on("click", function () { ... });
令我惊讶的是,它仍然有效!我很确定这是不应该的。我错了吗?
我已经三重检查注释掉处理程序会使功能无效。我一生都无法理解浏览器如何知道要考虑这个特定的处理程序,如果它没有附加到任何范围(因为它没有在 ready(...)
函数中执行。
好吧,如果您在加载文档元素后有此代码,那么它应该与 dom 元素加载后执行的代码一样。喜欢:
....
</body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(".cancelAction").on("click", function () { ... });
</script>
此代码可以正常工作,因为在代码执行时会加载所有元素。
我犯了一个错误,将所有带有 class cancelAction 的链接的事件处理程序放在了文档加载时执行的函数之外,如下所示:
$(document).ready(function () { ... });
$(".cancelAction").on("click", function () { ... });
令我惊讶的是,它仍然有效!我很确定这是不应该的。我错了吗?
我已经三重检查注释掉处理程序会使功能无效。我一生都无法理解浏览器如何知道要考虑这个特定的处理程序,如果它没有附加到任何范围(因为它没有在 ready(...)
函数中执行。
好吧,如果您在加载文档元素后有此代码,那么它应该与 dom 元素加载后执行的代码一样。喜欢:
....
</body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(".cancelAction").on("click", function () { ... });
</script>
此代码可以正常工作,因为在代码执行时会加载所有元素。