在我使用的插件中有以下代码:
;(function ( $, window, document, undefined ) {
$.fn.wc_variation_form = function() {
var $form = this;
$form.on( 'change', '.variations input:radio', function() {
//code which I want to trigger from elsewhere
});
});
从我自己的代码中,我需要触发位于//code which I want to trigger from elsewhere
的代码。我可以为此运行change()
,但我不明白上面代码中的$form
到底是什么。这是一个功能吗?如果是这样,我如何从我自己的代码中运行这些单选按钮上的change()
?
答案 0 :(得分:2)
$.fn
实际上是对jQuery.prototype
的引用。所以你要做的是向所有 jQuery对象添加wc_variation_form
方法。
在此函数中,this
是调用该方法的jQuery对象。所以,例如:
$('#myForm').wc_variation_form();
在函数中,this
将为$('#myForm')
,因此事件将绑定到该函数。由于这是一个委托事件,因此只有在您更改表单内的单选按钮时才会触发。
要触发事件,您可以在所需的单选按钮上使用.trigger('change')
(或仅.change()
)。
$('#yourRadioButton').change();