Jsfiddleを作成しようとしていますが、onclickがjsfiddleで機能しません。私のコードの何が問題になっていますか
<input value="press" type="button" onclick="myclick()">
function myclick(){
alert("myclick")
}
http://jsfiddle.net/hiteshbhilai2010/gs6rehnx/11/
No wrap - In head
を試し、document.ready
で再試行しましたが、jsfiddleで再び機能しません
ERROR - Uncaught ReferenceError: myclick is not defined
http://jsfiddle.net/hiteshbhilai2010/33wLs160/6/
既存の質問で確認しました ここ しかし、jsfiddleで試しているときに問題が発生しています
誰かが私を助けてくれますか....ありがとう
ライブラリなし(純粋なJS)およびラップなし-ヘッド内を選択する必要があります-)。次に、JavaScriptページを含む単純なHTMLとして機能します。
これは、<script>
の<head>
要素に挿入されます。
function myclick(){
alert("myclick")
}
デモ を参照してください
他の人が言ったように、最初のケースでは、JavaScriptパネル設定として_No wrap - in <head>
_または_No wrap - in <body>
_を設定する必要があります(jsパネルの右上にある青いリンク)。
2番目の(編集)質問では、関数内のコードとjsが(新しいコンテキスト内で)それを実行しますが、関数を定義し、呼び出しや割り当てなしで無視するため、何も実行されません。
alert(myclick)を呼び出すと、すべてのコードが実行され、その時点で定義されていることがわかります。 このフィドルを参照
_$(document).ready(function() {
//alert("ready is executed");
function myclick(){
alert("myclick is called")
window.location.reload(true);
}
alert(myclick); //this will show the myclick is a defined function!
//document.getElementsByTagName("input")[0].onclick = myclick;
})
_
あなたがこれを呼ぶならば:
_document.getElementsByTagName("input")[0].onclick = myclick;
_
その$(document).ready({...})
スコープでは、ボタンに割り当てられ、希望どおりに機能します。
これは機能しています。ドキュメント準備完了イベントから削除するだけです。また、JavaScriptではセミコロンはオプションですが、セミコロンを使用することをお勧めします。
function myclick() {
alert("myclick");
window.location.reload(true);
}
<input value="press" type="button" onclick="myclick();">
<script>
alert("home");
</script>
これが フィドル です。
<input value="press" id='a' type="button">
document.getElementById('a').onclick = function() { alert(1); }