ページに html があり、頭の中に$("#someelement").click(alert("click"));. #someelement が存在するかどうかに関係なく、何らかの理由でページをロードするとアラートが発生します。ただし、持っていると実行されません$("#someelement").click(function(){alert("click")});。何故ですか?
2 に答える
2
alert("foo")常に foo をすぐに警告しますが、イベント ハンドラーとして渡すことができる関数は返しません。代わりに、関数を jQuery イベント バインディング メソッドに渡す必要があります。
$("#someelement").click(function(){
alert("click");
});
さらに、このコードが にある場合は、<head></head>でラップする必要があります$(document).ready()。
$(document).ready(function(){
$("#someelement").click(function(){
alert("click");
});
});
alertwindowなど、オブジェクトで定義されたメソッドwindow.alertです。文字列である 1 つのパラメーターが必要であり、window オブジェクトのメンバーである必要があります。("string")の後alertにを配置alert("string")すると、その関数が実行され、ポップアップ ウィンドウに が表示されます"string"。関数にパラメーターとして配置すると同じことがalert("string")起こり、上記のコードが実行されるとポップアップウィンドウが表示されます。
于 2013-01-10T20:13:15.353 に答える
0
これを試して:
$(document).ready(function() {
$("#someelement").click(function(){alert("click")});
});
ここに働くフィドルがあります
于 2013-01-10T20:15:43.947 に答える