Javascript 将处理程序附加到';a';即使我没有';点击
我有以下代码来监听点击“a”标签:Javascript 将处理程序附加到';a';即使我没有';点击,javascript,jquery,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;"> <
$(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>
$(文档).ready(函数(){
$(文档)。在(“单击“,$”(“#添加事件”),添加事件);
});
addEvent:函数(){
警报(“测试”);
}
当我加载此代码所在的页面时,即使我没有单击“a”标记,页面加载后也会立即显示警告消息
什么会导致这种行为
我正在使用Firefox14和jQuery1.7
谢谢。$(文档)。在(“单击“,$”(“添加事件”),添加事件)代码>应为$(文档)。在(“单击”,“添加事件”,添加事件)上
,on()
的可选选择器是一个字符串,我不太确定addEvent
,这是实际的代码还是仅仅是片段?$(文档)代码>应为$(文档)。在(“单击”,“添加事件”,添加事件)上
,可选的.on()
选择器是一个字符串,我不太确定addEvent
,是实际代码还是片段?试试这个:
$("#addEvent").click(addEvent);
$(document).ready(function(){
$("#addEvent").on("click", event);
});
function event(){
alert("Test");
}
或者简单地说:
$(document).ready(function(){
$("#addEvent").click(event);
});
function event(){
alert("Test");
}
请尝试以下方法:
$(document).ready(function(){
$("#addEvent").on("click", event);
});
function event(){
alert("Test");
}
或者简单地说:
$(document).ready(function(){
$("#addEvent").click(event);
});
function event(){
alert("Test");
}
工作演示
API:
休息我希望它对事业有所帮助:)
代码
$(document).on("click", "#addEvent", addEvent);
function addEvent() {
alert("Test");
}
工作演示
API:
休息我希望它对事业有所帮助:)
代码
$(document).on("click", "#addEvent", addEvent);
function addEvent() {
alert("Test");
}
addEvent:
是否应该是var addEvent=
??它只是看起来放错地方了,为什么不干脆在('click',addEvent')上加上$(“#addEvent”);是,addEvent:function(){…}
是语法错误。addEvent:
部分是一个标签,然后function(){…}
将给出一个错误“function statement requires a name”或类似错误。(除非您只显示了某个对象定义的摘录,并且您的实际代码在.on()
调用中使用了someObj.addEvent
)。大家好,我忘了提到我的函数“addEvent”的语法名称:function(),因为该函数位于命名空间中@Musa找到了答案,这是因为我传递了一个jquery选择器,而不是一个字符串来定义哪个元素将处理单击事件。@UnLoCo我不想使用你说的;“$(“#addEvent”).on('click',addEvent);”因为关于我所读到的.on(),最好指定一个具有单击权限的父级。在您的情况下,这是将完成此工作的文档。如果我的元素是从根开始的,那么该元素将在整个结构中冒泡出来作为文档处理。好的,如果您认为这只是一次鼠标点击,那么这不是一个性能问题,但我尝试尽可能使用父级语法。addEvent:
是否应该是var addEvent=
??它只是看起来放错地方了,为什么不干脆在('click',addEvent')上加上$(“#addEvent”);是,addEvent:function(){…}
是语法错误。addEvent:
部分是一个标签,然后function(){…}
将给出一个错误“function statement requires a name”或类似错误。(除非您只显示了某个对象定义的摘录,并且您的实际代码在.on()
调用中使用了someObj.addEvent
)。大家好,我忘了提到我的函数“addEvent”的语法名称:function(),因为该函数位于命名空间中@Musa找到了答案,这是因为我传递了一个jquery选择器,而不是一个字符串来定义哪个元素将处理单击事件。@UnLoCo我不想使用你说的;“$(“#addEvent”).on('click',addEvent);”因为关于我所读到的.on(),最好指定一个具有单击权限的父级。在您的情况下,这是将完成此工作的文档。如果我的元素是从根开始的,那么该元素将在整个结构中冒泡出来作为文档处理。好的,如果您认为这只是一次鼠标点击,那么这不是性能问题,但我尝试使用尽可能多的父级语法。但这与(可能的意图)不一样委托事件处理程序。@nnnnn我在对问题的评论中所说的完全正确,但你可以用少10倍的字数继续我的解释:)但这与(假设的意图)不一样委托事件处理程序。@nnnnn与我在问题评论中所说的完全相同,但您用比@Musa少10倍的文字恢复了我的解释:)您发现了与@Musa完全相同的错误。我只能说一点,但非常感谢。你的时间很宝贵,不用担心!很高兴它帮了你。:)
你发现了与@Musa完全相同的错误。我只能说一点,但非常感谢。你的时间很宝贵,不用担心!很高兴它能帮上忙。:)