カスタム CSS を必要とせずに、CSS スプライト ボタンを自動的に作成する JavaScript ビヘイビアーを作成しています。私の最初の質問は、これは以前に行われたことがありますか? 当然の考えのようですが、何も見つからないか、間違った場所を探しています。
ユーザーがボタン自体を押したときにスクリプトを動作させることができます。私が失敗しているのは、ユーザーが別のボタンをクリックしたときにあるボタンの状態を設定することです。(ラジオボタンの場合、これは重要です:)
これまでの進捗状況を示すページをアップロードしました。
私が使用する... $(image).on("setFrame", this.setFrame); ... setFrame メソッドを画像に追加し、そのメソッドをトリガーするプラグインを作成します。
(function($){
/* A plugin to trigger a setFrame() method on a different
* element than the one that was clicked.
*/
$.fn.setImageFrame = function(frame) {
return this.each(function() {
console.log(this);
// Q. Nothing happens on the next line. Why not?
$(this).trigger('setFrame', frame);
});
};
})( jQuery );
.trigger() への呼び出しは何もしません。
おまけとして、setFrame メソッドが画像に設定されているかどうかをテストするにはどうすればよいですか? さまざまな解決策を見てきましたが、テストしたもので肯定的な結果が得られるものはありません。
編集: 問題は、setFrame メソッドが img 要素にアタッチされており、呼び出し t trigger() がその親 div 要素に送信されたことです。