This question already has answers here:
Why does click event handler fire immediately upon page load?
(4个答案)
4年前关闭。
关于此主题也有类似的问题,但是他们的答案对我的问题没有帮助。
我试图使用jQuery的
这是html:
这里的js:
我也尝试过这个:
这是函数:
有任何想法吗?提前致谢! :)
尝试像这样编辑它。
编辑:
由于某些原因,如果
尝试这样:JSFiddle
编辑2:您应该将处理程序放在
(4个答案)
4年前关闭。
关于此主题也有类似的问题,但是他们的答案对我的问题没有帮助。
我试图使用jQuery的
on("click")
触发一个函数,该函数只是更改被单击的id的类。但是该函数在页面加载时被调用,然后如果您单击应该触发该函数的内容,则它将不会。这是html:
<nav>
<ul>
<li id="all" class="tab-current"><a><span>All Departments</span></a></li>
</ul>
</nav>
这里的js:
var $all = $("#all");
$all.on("click", function(){
tabClicked("all");
});
我也尝试过这个:
$all.on("click", tabClicked("all"));
这是函数:
function tabClicked(input){
//do some stuff here
}
有任何想法吗?提前致谢! :)
最佳答案
var $all = $("#all");
$all.on("click", function(){
tabClicked("all");
});
尝试像这样编辑它。
$(function() {});
类似于$(document).ready()
,因此放置function(){}
而不是$(function() {});
。编辑:
由于某些原因,如果
script
标记位于html中的元素之后,则会触发该事件。我用外部JS等尝试了您的代码-无效。尝试这样:JSFiddle
编辑2:您应该将处理程序放在
$(document).ready()
函数中的任何位置,这就是原因。$( document ).ready(function() {
var $all = $("#all");
$all.on("click", function(){
alert("click");
});
});
关于javascript - on(“click”,event)触发而无需单击[duplicate],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36400660/