在JavaScript中使用onclick
来调用函数nowClicked()
时,我需要单击该对象两次才能显示警报。以下是我的功能代码。
function nowClicked() {
$('.object').click(function() {
$('.object').removeClass("clicked");
var myClass = $(this).attr("id");
alert(myClass);
$(this).addClass("clicked");
e.stopImmediatePropagation();
});
};
有什么问题?
答案 0 :(得分:2)
以下是您第一次点击按钮时发生的情况:
nowClicked
被调用,因为您已在按钮onclick
nowClicked
为.object
jQuery点击处理程序中的代码 只运行 next 时点击按钮。
看起来你混合了两种处理点击的方式 - 一种是使用onclick
事件,第二种是使用jQuery。你需要选择一个而不是同时使用它们。
答案 1 :(得分:0)
没有必要把它放在另一个函数中,因为click
本身正在处理一个回调函数。移除外部函数nowClicked
否则删除$('.object').click(function() {
。在第二种情况下你可以将context
作为函数参数传递。
$('.object').click(function() {
$('.object').removeClass("clicked");
var myClass = $(this).attr("id");
alert(myClass);
$(this).addClass("clicked");
e.stopImmediatePropagation();
});