0

ここでの意向という言葉は適切ではないと思います。実行できません。

これは非常に単純なコードです。入力するだけでalert("Working");問題なく動作します。

いずれにせよ、ここにコード全体があり、私が間違っていることを理解するのを手伝ってくれるかもしれません.

<!DOCTYPE html>
<html>
<head>
    <title>Events</title>
</head>
<body>
<script type="text/javascript">
    var btn = document.getElementById("btn");
    btn.attachEvent("onclick", function(){
        alert("Clicked");
    })

</script>
<input id="btn" type="button" value="Press me">
</body>
</html>
4

3 に答える 3

3

いくつかの問題:

  1. ドキュメントがロードされるまで、コードは実行できません。実行が早すぎると、ページ内のオブジェクトがまだ見つかりません。</body>これを行う最も簡単な方法は、コード ブロックをタグの直前に移動することです。
  2. attachEvent()古いバージョンの IE 専用です。最新のブラウザはすべて.addEventListener().

改訂された HTML/コード:

<!DOCTYPE html>
<html>
<head>
    <title>Events</title>
</head>
<body>
<input id="btn" type="button" value="Press me">
<script type="text/javascript">
    var btn = document.getElementById("btn");
    btn.addEventListener("click", function(){
        alert("Clicked");
    })

</script>
</body>
</html>

実際のデモ: http://jsfiddle.net/jfriend00/Dmqdn/

于 2013-10-22T00:45:47.963 に答える
0

これを FF (およびその他の最新のブラウザー) で機能させるには:

document.addEventListener("DOMContentLoaded", function(event) {
    var btn = document.getElementById('btn');
    btn.addEventListener('click', function() {
        console.log('Clicked');
    });
});

DOM にアクセスする前に、DOM が完全に読み込まれていることを確認するのが最も安全です。

私は を使っconsole.logたことがあります。慣れる必要があります。大いに役立つでしょう。Chrome の開発ツールである FF の FireBug をチェックしてください。

于 2013-10-22T00:45:41.577 に答える
0

これが解決策を示すjsfiddleです。これを機能させるには、次の 2 つのことを行う必要があります。

  1. <script>タグを入力の下に移動します
  2. に置き換えattachEventますaddEventListenerattachEventサポートされなくなりました

コードは次のとおりです。

<input id="btn" type="button" value="Press me">

<script type="text/javascript">
    var btn = document.getElementById("btn");
    btn.addEventListener("click", function(){
        alert("Clicked");
    })
</script>
于 2013-10-22T00:48:45.387 に答える