将处理程序附加到“a”标签上的单击事件,即使我不单击也会触发

Attach an handler to the click event on a 'a' tag is firing even if I don't click

本文关键字:单击 事件 程序 处理 标签      更新时间:2023-09-26

我有这段代码来监听点击"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。

谢谢。

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

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

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

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

法典

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

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

试试这个:

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

演示

或者简单地:

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