私はsmall jQuery pluginを修正して、HTMLチェックボックスをグラフィカルにすることを試みています。私が直面している問題は、チェックボックスの "checked"プロパティを変更すると、change
イベントがトリガされないため、グラフィカルなrepresntationが更新されないということです。propHooksを目立たないように使うには?
明らかに、私はプロパティを変更するときに変更イベントを手動でトリガすることができますが、プラグインに含まれるより一般的な解決策を探したいと思います。
検索すると、this answerが見つかりました。私はpropHooksを指摘しました。プロパティを設定するたびに通知を受け取ることができます。したがって、私はこれを書くことができます:
jQuery.propHooks.checked = {
set: function (el, value) {
el.checked = value;
$(el).trigger('change');
}
};
これで、プロパティが設定されるたびにchangeイベントがトリガーされるようになりました。
私の懸念は、これはあまりローカライズされていないということです。今、この小さなプラグインのために、ページ上のすべてのものに対してjQueryの動作を変更しました。さらに、ページ上の2つのプラグインで同じテクニックを使用した場合、どうなるか分かりません。イベントが2回トリガーされるか、2回目のフックが最初に上書きされますか?どちらの動作も問題があるようです。
propHooksのドキュメントを見つけるのに苦労しています。それを使用する適切な方法は何ですか?
私は私が正しくあなたを理解していれば、あなたも維持しながらpropHooksを追加する方法」**として記述することができ、別の問題に対処している – Nathan