onclick需要双击

时间:2018-05-27 15:59:33

标签: javascript jquery onclick

在JavaScript中使用onclick来调用函数nowClicked()时,我需要单击该对象两次才能显示警报。以下是我的功能代码。

function nowClicked() {

  $('.object').click(function() {

    $('.object').removeClass("clicked");
    var myClass = $(this).attr("id");
    alert(myClass);

    $(this).addClass("clicked");

    e.stopImmediatePropagation();

  });
};

有什么问题?

2 个答案:

答案 0 :(得分:2)

以下是您第一次点击按钮时发生的情况:

  1. nowClicked被调用,因为您已在按钮onclick
  2. 上进行了设置
  3. nowClicked.object
  4. 设置jQuery点击处理程序

    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();
});