私は、JQuery で関数を拡張する方法について簡単にグーグルで検索しましたが、自分が何をしているのかわかりません。一般的に理解したいのですが、この特定のインスタンスでは、.val() 関数を拡張して、トリガーの「変更」イベントをすべてに追加したいと考えています。つまり、これは次のようになります。
$('#element').val('newval');
自動的に次のようになります。
$('#element').val('newval').trigger('change');
これが私の試みです...それは私のページを壊していますが、うまくいけば私は近いです:
(function($, input){
var oldValFn = $.fn.val;
$.fn.val = function() {
var ret = oldValFn.apply(this, arguments);
try {
$(this).val(input);
$(this).trigger('change');
}
catch(e)
{
console.log(e);
}
return ret;
}
$(this).val('newval');
})(jQuery);
これは明らかに私が概念的に理解する必要があるものであるため、どんな助けも大歓迎です。ありがとう!