jQueryオブジェクトで実行できる関数またはメソッドを作成したいと思います。jsfiddleを参照してください。
$(function() {
$("#myElem").click(function(){
$(this).myMethod("red");
});
var myMethod = function(myParam){
var buttonBorder = "2px solid " + myParam;
$(this).css("border", buttonBorder);
};
});
最初の問題は、メソッドが期待どおりに機能しないことです。このエラーが発生します:
Uncaught TypeError: Object [object Object] has no method 'myMethod'
2番目の問題(おそらく最初の問題が原因ですか?)は、$(this)
inがイベントハンドラーの場合myMethod
と同じではないことです。$(this)
メソッドがオブジェクトをパラメーターとして明示的に渡さずに取得する方法はありますか?