Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery如何在不触发事件的情况下调用事件函数_Jquery_Function_Call_Onchange - Fatal编程技术网

jQuery如何在不触发事件的情况下调用事件函数

jQuery如何在不触发事件的情况下调用事件函数,jquery,function,call,onchange,Jquery,Function,Call,Onchange,我有一个jQuery函数,如下所示。无论触发事件是否发生,我都希望在javascript中调用该函数。换句话说,在某些情况下,我只想调用下面的函数。可能吗 $(document).on('change', '.jq__pAC', function(event) { // some working code }); // end .on('change') 只需使用change();在不传递函数的情况下,此方法会触发操作,而不是处理它: $(document).on('change', '.

我有一个jQuery函数,如下所示。无论触发事件是否发生,我都希望在javascript中调用该函数。换句话说,在某些情况下,我只想调用下面的函数。可能吗

$(document).on('change', '.jq__pAC', function(event) {
  // some working code
}); // end .on('change')
只需使用
change()
;在不传递函数的情况下,此方法会触发操作,而不是处理它:

$(document).on('change', '.jq__pAC', function(event) {
 // some working code
}).change();
或者,您可以使用
trigger()
,它触发作为字符串传递给方法的事件:

$(document).on('change', '.jq__pAC', function(event) {
 // some working code
}).trigger('change');
参考资料:


您可以将函数与方法上的
分开,如下所示:

$(document).on('change', '.jq__pAC', handlerFunction);

function handlerFunction(event) {
  // some working code
}

// at some other point in your code you can call:
handlerFunction();
PS:为了完成起见,我建议您在
on
方法中提取
事件
变量,并仅将适当的信息传递给
handlerFunction
。像这样:

$(document).on('change', '.jq__pAC', function(event) {
    var nodename = event.target.nodeName;
    handlerFunction(nodename);
});

function handlerFunction(nodename) {
  // some working code
}

// at some other point in your code you can call:
handlerFunction('div');

最好的方法如下:

function myFunction(event)
{
   // code stuff here
}
...    
$(document).on('change', '.jq_pAc', myFunction);

通过这种方式,您可以自行调用函数,它也会被更改事件调用。

因此,在测试和处理更改事件几分钟后,我注意到这只对输入元素有效

$(document).on('change', '.myCart-val', function(){
   if ($('.myCart-val').html() == "0") {
     $('.myCart-val').hide();
   } else {
     $('.myCart-val').show();
   }
});
我注意到,为了使这个函数真正起作用,我需要将它应用到某种类型的onclick事件中,这两个事件需要相互欣赏

我终于找到了一个更好的解决方案,包括。突变事件允许我的函数在被另一个函数触发时相应地运行

我的最终解决方案

if ($('.myCount').text() == "0"){$('.CartCount').hide();}

$('.myCart-val').on('DOMSubtreeModified', function() {
   if ($(this).text() == "0") {
     $(this).hide();
   } else {
     $(this).show();
   }    
});
我找到了我的答案,希望它能帮助你

谢谢@BardMorgan——有时候你只是在代码上花了太多时间,然后迷失在其中。我需要一个全新的视角。谢谢@Steve——有时候你只是花了太多时间在代码上,然后迷失在其中。我需要一个全新的视角。谢谢@DavidThomas——有时候你只是花了太多时间在代码上,然后迷失在其中。我需要一个新的视角。