确定.trigger()是否调用事件

Nea*_*alR 1 javascript jquery

有没有办法确定.changejQuery .trigger是否调用了下面的函数?

    $('input[name=TransactionType]').change(function () {
        //Clear out values
        $('input:text').val('');
        $('input:text').text('');

        //Display input fields
        var radioValue = $(this);

        $('#RightDiv').children().each(function () {
            if (radioValue.attr('id') == $(this).attr('id')) {
                $(this).show();
            } else {
                $(this).hide();
            }
        });
    }).filter(':checked').trigger('change');
Run Code Online (Sandbox Code Playgroud)

PSL*_*PSL 5

您可以使用 event.isTrigger

 $('input[name=TransactionType]').change(function (e) {
    if(e.isTrigger){
      //This was triggered using trigger('change') or .change() etc
    }
 }
Run Code Online (Sandbox Code Playgroud)

演示

此标志仅在如上所述触发时设置,否则您可能未定义此标志.我无法找到任何文件.

但我看到这是在触发器方法的jquery代码中设置的.

 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
 event.isTrigger = onlyHandlers ? 2 : 3;
Run Code Online (Sandbox Code Playgroud)