jquery定义自定义事件

Sam*_*man 1 jquery events

我是一名中级JS程序员,它与PHP有着天壤之别(特别是当我不是OOP程序员时,甚至在PHP中).

我有兴趣在jQuery中定义自己的事件,作为我编程的简化,我将使用一个简单的例子:

通常你在表中有记录行.用户想要使一行无效.设置系统,以便在发生这种情况时,该行淡出并消失.我们假设有三种方法可以做到这一点:

  1. 点击非活动图标
  2. 行突出显示命中i
  3. 右键单击并从上下文菜单中选择非活动.

我想做的是:

$('.datarow').on('rowinactive',function(){ /* etc */ });
Run Code Online (Sandbox Code Playgroud)

上面三个动作中的任何一个都将设置$('#row12345').inactive,并且事件处理程序将从那里获取它.我看到它,因为你在状态和与国家有关的行动之间有某种分离.

我希望这是一个简单的例子.任何人都可以为此提供一些示例代码吗?

ade*_*neo 5

您几乎可以定义任何您想要的事件,但是这些事件必须在某些情况下被触发.

$('.datarow').on('rowinactive',function(e, elem){
    alert(elem.id + ' is inactive');
});

$('table tr').on('click', function() {
    $(this).highlight();
    $('.datarow').trigger('rowinactive', this); // passes the element
});
Run Code Online (Sandbox Code Playgroud)

您还可以将任何参数传递给触发的函数.

小提琴