在jQuery事件处理程序中调用自定义函数

Calling a custom function in jQuery event handler

本文关键字:调用 自定义函数 程序 jQuery 事件处理      更新时间:2023-09-26

这是我想要调用的函数(我测试过它,它肯定有效):

function enableCategoryPopup(event) {
    event.stopPropagation();
    var buttonOffset = $(this).offset();
    $('.category-popup').css({
      top: buttonOffset.top + 10,
      left: buttonOffset.left +10
    });
    $('.category-popup').show(100);
  }

这就是我想称之为的地方

$(document).on("mousedown", ".tab-links li:nth-child(2)", function(event) {
    if (event.which == 3) {
      enableCategoryPopup();
    }
  });

当我右键单击指定的元素时,应该立即调用我的自定义函数,但它没有。当我调用alert("x")而不是enableCategoryPopup()时,它起作用,只有我的自定义函数不会被执行。

我做错了什么?如何调用我的自定义函数?

尝试从enableCategoryPopup函数中处理事件

function enableCategoryPopup(event) {
    if (event.which == 3) {
        event.stopPropagation();
        var buttonOffset = $(this).offset();
        $('.category-popup').css({
          top: buttonOffset.top + 10,
          left: buttonOffset.left +10
        });
        $('.category-popup').show(100);
    }
  }
  $(document).on("mousedown", ".tab-links li:nth-child(2)", enableCategoryPopup);