以下两段HTML之间的区别是什么(如果我在写这个写意时有任何拼写错误而道歉)?
使用jQuery:
<script type="text/javascript">
$(document).ready(function() {
$("#clickme").click(function() {
alert("clicked!");
});
});
</script>
<a id="clickme" href="javascript:void(0);">click me</a>
不使用jQuery:
<a id="clickme" href="javascript:void(0);" onclick="alert('clicked!');">click me</a>
答案 0 :(得分:55)
一个很大的区别是jQuery的事件是在一个注册表中处理的,该注册表在click事件上被解析。至关重要的是,这意味着您可以分配多个回调,并按照注册顺序触发它们:
<script type="text/javascript">
$(document).ready(function() {
$("#clickme").click(function() {
alert("clicked!");
});
$("#clickme").click(function() {
alert("I concur, clicked!");
});
});
</script>
它们都将按此顺序在click
事件上调用。 jQuery的注册表驱动系统覆盖了“真正的”onClick
事件。在vanilla文档结构中,如果没有像jQuery这样的系统,那么只能有一个onClick
事件。
答案 1 :(得分:8)
它也是UI代码(HTML)和逻辑代码(JavaScript)的更清晰分离。它使阅读更容易。
答案 2 :(得分:6)
其中一个不同之处是使用jQuery的click
添加处理程序并不会删除以前的处理程序。