即使我没有点击,也会在'a'标签上的click事件附加处理程序

时间:2012-08-17 01:35:55

标签: javascript jquery

我有这个代码来听取点击'a'标签:

$(document).ready(function () {
    $(document).on("click", $("#addEvent"), addEvent);
});

addEvent: function () {
   alert("Test");
}

<div style="width: 100%; text-align: right;margin-left: -8px; margin-top:-40px;">
   <a id="addEvent" href="#" >
      <span class="t-icon t-add"></span> Add item
   </a>
</div>

当我加载此代码所在的页面时,即使我没有点击“a”标记,也会在页面加载后立即显示警告消息。

什么会导致这种行为?

我正在使用Firefox 14和jquery 1.7。

谢谢。

4 个答案:

答案 0 :(得分:2)

$(document).on("click", $("#addEvent"), addEvent);应该是$(document).on("click", "#addEvent", addEvent);.on()的可选选择器是一个字符串,我对addEvent不太确定,是实际代码还是只是片断?

答案 1 :(得分:2)

工作演示 http://jsfiddle.net/DYXTG/

API:http://api.jquery.com/on/

休息我希望它有助于事业:)

<强>码

$(document).on("click", "#addEvent", addEvent);


function addEvent() {
    alert("Test");
}
​

答案 2 :(得分:1)

请改为尝试:

​$(document​).ready(function(){
    $("#addEvent").on("click", event); 
});

function event(){
    alert("Test");
}

DEMO

或简单地说:

​$(document​).ready(function(){
    $("#addEvent").click(event); 
});

function event(){
    alert("Test");
}

答案 3 :(得分:0)

$("#addEvent").click(addEvent);