我有这个js代码:
(function($, undefined) {
$("a").click(function(event) { //or another elemtnt
alert('Hello!');
})
})(jQuery);
当然还有链接:
<a href="http://google.ru/" target="_blank">Google</a>
JS代码不起作用,但如果我将其更改为:
(function($, undefined) {
$("*").click(function(event) {
alert('Hello!');
})
})(jQuery);
一切正常!
答案 0 :(得分:3)
如果您在加载a
节点之前放置了JavaScript,则效果将与您描述的类似。试试这个:
$(function () {
$("a").click(function(event) { //or another elemtnt
alert('Hello!');
})
});
这将在DOM树准备好时调用匿名函数。以下是JSFiddle中的示例。
当您使用*
作为选择器时,jQuery会将单击处理程序添加到html
元素,这就是您收到警报的原因。
答案 1 :(得分:0)
为什么不尝试使用document.ready?
$(document).ready( function (){
$('a').click(function (){
alert("a");
});
});
答案 2 :(得分:-1)
这是一个可能的解决方案:
$(document).ready(function() {
// put all your jQuery goodness in here.
});
为什么不给它一个ID并选择$('#my-id')
来设置事件?