2011-09-26 21 views
1

私はjsの次のファイルがあります。ここではボタンのクリックイベントが発生しないのはなぜですか?

var IOMaximizeButton = { 
setup: function() { 
    $(this).click(function(){ 
     console.log("maximize button was clicked!"); 
    }); 
    } 
}; 

$(document).ready(function() { 
    IOMaximizeButton.setup(); 
}); 

は私のHTMLの本文です:

<body> 
    <a href="#" data-role="button" data-icon="delete">Maximize</a> 
    <iframe id='iframe-primary' name='iframe-primary' src='foo.html' /> 
    <iframe id='iframe-secondary' name='iframe-secondary' src='bar.html' /> 
    </body> 

私はボタンがクリックされたときに、JavaScriptを実行することにしたいです。しかし、それは誘発されていないようです。どうして?

HTMLページの最後にJSファイルをインポートしました。

答えて

3

をクリックされた機能を起動するために書かれたコードがないと機能が呼び出す方法を

とボタンを結合していない、thisはを参照オブジェクトそのもののインスタンスなので、clickイベントをDOM要素ではなくJavaScriptオブジェクトにバインドしようとしています。

var IOMaximizeButton = { 
setup: function() { 
    $("#yourButton").click(function(){ 
     console.log("maximize button was clicked!"); 
    }); 
    } 
}; 

がここにworking exampleだ:私はあなたが実際にこのような何かをしたい推測しています。

+0

おめでとう、10Kユーザー: – Starx

+0

ありがとう:)私は9,999ちょうどもう1つupvoteを待っていた! –

+0

あなたのコードを追加しました。あなたのHTMLのIDを "yourButton"に変更しましたが、幸運はありません。 –

1

あなたが機能ボタンがあなたのオブジェクトで

var IOMaximizeButton = { 
    setup: function() { 
     $("#button").click(function(){ 
     console.log("maximize button was clicked!"); 
     }); 
    } 
}; 
<a href="#" id="button">Maximize</a> 
1

$("#maximize").click(<a id="maximize" ...を意味しましたか?

1

あなたの機能はセレクターには付属していないので、私はイベントをキャッチできません。 $(これ)は空のオブジェクトです。

$(this)をいくつかの特定のセレクタに変更してみてください。

関連する問題