如何从其他地方触发这个特定的jQuery绑定代码?

时间:2016-01-21 19:47:42

标签: jquery function

在我使用的插件中有以下代码:

;(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()

1 个答案:

答案 0 :(得分:2)

$.fn实际上是对jQuery.prototype的引用。所以你要做的是向所有 jQuery对象添加wc_variation_form方法。

在此函数中,this是调用该方法的jQuery对象。所以,例如:

$('#myForm').wc_variation_form();

在函数中,this将为$('#myForm'),因此事件将绑定到该函数。由于这是一个委托事件,因此只有在您更改表单内的单选按钮时才会触发。

要触发事件,您可以在所需的单选按钮上使用.trigger('change')(或仅.change())。

$('#yourRadioButton').change();