jQuery的功能与文档准备(jquery on function and document rea

2019-10-17 03:04发布

我使用了jQuery 的()函数将一个附加onclick功能可将锚在我的网站如下:

<ul>
  <li>First <a href='#' title='delete' class="itemDelete">x</a></li>
  <li>Second <a href='http://www.repubblica.it' title='delete' class="itemDelete">x</a></li>
  <li>Third <a href='#' title='delete' class="itemDelete">x</a></li>
</ul>​

<script type="text/javascript">
$(document).on('click', '.itemDelete', function(e) {
    $(this).closest('li').remove();
    e.preventDefault();
});
</script>

我应该插入以下块中的javascript代码?

$(document).ready(function() {
  ...
});

如果是,为什么?

Answer 1:

这一段代码不需要文档内容是因为您使用在任何情况下完全解析document ,它总是存在的。 作为第二个参数的选择不以任何方式用于检索元素,所以DOM不会必须为此做好准备。

你就不能调用$(document).ready摆在首位,如果上述情况并非如此。

要明白,在幕后要附加一个直接的,正常的事件监听器是非常重要的document 。 所有选择实际上并是你的处理程序回调不叫,如果没有的元素在事件传播路径匹配您的选择。 很显然,如果传播是由较低级别的听众提前终止,它不会在这种情况下要么被解雇。



Answer 2:

在这种情况下,你不需要。 由于<script>中的HTML元素后,你的代码将元素已经被加载执行标签,不再需要使用DOM准备的事件处理程序,以确保它们都被载入。

这就是说,我通常喜欢,包括我所有的JavaScript代码与页面上的元素在DOM准备的事件处理程序,即使它不是绝对必要的工作; 这样,如果我决定搬到别处去了 - 比如页面的顶部或外部文件 - 或者改变它,它不会打破一些其他的方式。



文章来源: jquery on function and document ready