总是需要将click事件放在(document).ready(function()下面作为例子,因为我看到了click(函数()位于它之外,我想知道如何做到这一点< / p>
$(document).ready(function(){
$('#checkout').click(function() {
alert("Thanks for visiting!");
});
});
答案 0 :(得分:1)
它不必在就绪功能内。
这只是确保在事件附加到节点之前加载了所有内容。
答案 1 :(得分:1)
它不需要在$(document).ready();
中。它和任何javascript一样。它需要放在它将访问的元素之后,或放在$(document).ready();
中。如果您将脚本直接放在要添加的元素后面,则可以加快点击事件的速度:http://encosia.com/dont-let-jquerys-document-ready-slow-you-down/
答案 2 :(得分:0)
click
函数可以放在任何位置,对选择具有相同的效果($
)。
选择功能需要以可以选择所需节点的方式放置。如果{DOM}树中选择的内容之前有script
标记,则需要等待文档准备就绪或窗口已完成加载,然后选择才会成功。
以下内容可行:
JS
$('#foo').click(...);
HTML
<div id="foo"></div>
<script src="location/script.js"></script>
但是如果你改变HTML,那就不行了:
<script src="location/script.js"></script>
<div id="foo"></div>
执行脚本时,id为foo
的元素尚不存在。这就是您通常在document ready
事件回调中包装事件处理程序的原因。
答案 3 :(得分:0)
如果您在此jquery点击事件之前放置#checkout,则可以不使用.ready()
答案 4 :(得分:0)
.click
方法将click事件的处理程序绑定到某个元素。
如果它在$.ready
方法内,则在加载DOM之后将执行绑定。否则 - 绑定将立即执行。结果 - 没有区别。您的按钮(或其他)将在点击事件
P.S。如果您将.click
方法放在$.ready
之外且在您的元素(事件目标)写入之前可能会出现问题
答案 5 :(得分:0)
您可以使用the jQuery live() event来扩大您可以放置它的可能性。