我试图让我的jQuery代码变得更简单 - .on('click', function)
,我通常用.click(function)
替换类似的东西。但是,我有一个代码如下:
jQuery(document).on('click', '#lightbox', function() {
//do something
});
我并不是真的了解结构。我曾尝试在jQuery.com等上阅读它,但它以复杂的方式解释。我的问题是,为什么这条线看起来不像这样......:
jQuery('#lightbox').on('click', function() {
//do something
});
...以便我可以简化它?:
jQuery('#lightbox').click(function() {
//do something
});
当我尝试时,它不会起作用。为什么要点击选择器document
而不是实际的元素('#lightbox'
),然后在另一个参数中引用它?
任何人都可以向我解释这个吗?只是一个简单的问题 - 我不是jQuery的专家(就像你现在可能已经理解的那样),这也不是一个重大错误,它只是让我烦恼一点,我可以&# 39; t到处都有相同的click
代码(因为简化的代码适用于其他地方)。
(我可以上传整个代码并在必要时制作一个小提琴,它只有70行,所以应该很容易)
答案 0 :(得分:2)
您想要使用此功能:
jQuery(document).on('click', '#lightbox', function() {
//do something
});
仅在设置事件侦听器后加载#lightbox
元素时(例如:如果在加载页面后使用AJAX创建#lightbox
元素)。
如果您的页面从一开始就存在#lightbox
,请使用此:
jQuery("#lightbox").click(function() {
//do something
});
正如charlietfl所说:请注意,click()
只是on('click')
的简写
答案 1 :(得分:1)