JavaScriptでonclickイベントを適切に作成するにはどうすればよいですか?

pv2.al1290

ページ上の別の要素のinnerHTMLを変更するアンカータグを使用してonclickイベントを使用しようとしています。何が間違っているのかわからないので、使用しているすべてのコードを以下に示します。皆さんが私の間違いを指摘して、私が誤解したことを教えてくれることを願っています。JavaScriptファイルは本文の後に含まれていますが、JSfiddleのここで確認できますしたがって、[設定]をクリックすると、BookmarkList divに独自のHTMLコードが表示され、Homeでも同じように表示されます。このサイトでは、BookmarkListdivが注目を集めます。私はこれに対して何が間違っているのかよくわかりません。

HTML:

<body id="bodyBG">
<div class="wrapper">
<div class="box header">
Header
</div>
<div class="box content">
    <div class="box subcontent1">   
        <div class="sdfgsdfgsdfg"><input id="categoryName" placeholder="Category Name"></input></div>
        <div class="sdfgsdfg"><input id="urlLink" placeholder="Site Address"></input></div>
        <div class="sdfgsddfg"><input id="bookmarkName" placeholder="Bookmark Name"></input></div>
        <div><button>Save</button></div>
        <hr>
        <input placeholder="Search Bookmarks"></input>
        <button>Search</button>
    </div>
    <div class="box subcontent2">
        <a href="#" id="settingsNav" onclick="myFunction(this)">Settings</a>
        <hr>
        <a href="#" id="homeNav" onclick="myFunction(this)">Home</a>
        <a href="#">Back</a>
        <a href="#">Forwards</a>
    </div>
    <div id="bookmarkList" class="box subcontent3 bookmark-list">
    </div>
</div>
<div class="box footer">Footer</div>
</div>
<script src="assets/js/bookmark-action-script.js"></script>
</body>

JavaScript:

var settingsNav = document.getElementById('settingsNav');
var homeNav = document.getElementById('homeNav');

var changeThis = document.getElementById("bookmarkList");

function myFunction(this) {
if (this === settingsNav) {
    changeThis.innerHTML = "<h3>Bookmarks</h3><hr>";
}
else if (this === homeNav) {
    changeThis.innerHTML = "<h3>Bookmarks</h3><hr><p>Store all your bookmarks here!</p><ul><li>An secure storage means for your privacy needs!</li><li>24/7 Availability</li></ul>";
}
else (this != settingsNav | homeNav) {
    changeThis.innerHTML = "Nothing to see here!";
}
};

document.getElementById("settingsNav").addEventListener("click");
document.getElementById("homeNav").addEventListener("click");

解決策:私は常に自分の問題に適した解決策を追加します。これにより、将来のオブザーバーは、自分が抱えていた問題と解決策を確認できます。私の問題は、イベントリスナーに関数を追加することではありませんでした。JavaScriptコードで付随する関数とともにイベントリスナーを指定する場合は、HTMLコード内でonclickイベントを指定する必要はありません。しかし、イベントリスナーに関連付けられた機能がなければ、何も起こりません。私は今それを理解しています。

var settingsNav = document.getElementById('settingsNav');
var homeNav = document.getElementById('homeNav');
var changeThis = document.getElementById("bookmarkList");

function myFunction(event) {
var el = this;
if (el === settingsNav) {
changeThis.innerHTML = "<h3>Bookmarks</h3><hr>";
} else if (el === homeNav) {
changeThis.innerHTML = "<h3>Bookmarks</h3><hr><p>Store all your bookmarks here!</p><ul><li>A secure storage means for your privacy needs!</li><li>24/7 Availability</li></ul>";
} else if (el != settingsNav || homeNav) {
changeThis.innerHTML = "Nothing to see here!";
}
};

document.getElementById("settingsNav").addEventListener("click", myFunction);
document.getElementById("homeNav").addEventListener("click", myFunction);
ゲスト271314

HTMLから属性イベントハンドラーを削除します。イベントがディスパッチされたときに呼び出す関数への参照として、function (this)function(event). You did not add an event handler at.addEventListener()call, where you can passmyFunction`に変更します

またはJavaScript||では|2番目なくelse..if

<input>要素は自己閉鎖的で</input>あり、無効なHTMLであることに注意してください

<body id="bodyBG">
<div class="wrapper">
<div class="box header">
Header
</div>
<div class="box content">
    <div class="box subcontent1">   
        <div class="sdfgsdfgsdfg"><input id="categoryName" placeholder="Category Name"></div>
        <div class="sdfgsdfg"><input id="urlLink" placeholder="Site Address"></div>
        <div class="sdfgsddfg"><input id="bookmarkName" placeholder="Bookmark Name"></div>
        <div><button>Save</button></div>
        <hr>
        <input placeholder="Search Bookmarks">
        <button>Search</button>
    </div>
    <div class="box subcontent2">
        <a href="#" id="settingsNav">Settings</a>
        <hr>
        <a href="#" id="homeNav">Home</a>
        <a href="#">Back</a>
        <a href="#">Forwards</a>
    </div>
    <div id="bookmarkList" class="box subcontent3 bookmark-list">
    </div>
</div>
<div class="box footer">Footer</div>
</div>
<script>
var settingsNav = document.getElementById('settingsNav');
var homeNav = document.getElementById('homeNav');

var changeThis = document.getElementById("bookmarkList");

function myFunction(event) {
  var el = this;
  if (el === settingsNav) {
    changeThis.innerHTML = "<h3>Bookmarks</h3><hr>";
  } else if (el === homeNav) {
    changeThis.innerHTML = "<h3>Bookmarks</h3><hr><p>Store all your bookmarks here!</p><ul><li>An secure storage means for your privacy needs!</li><li>24/7 Availability</li></ul>";
  } else if (el != settingsNav || homeNav) {
    changeThis.innerHTML = "Nothing to see here!";
  }
};

document.getElementById("settingsNav").addEventListener("click", myFunction);
document.getElementById("homeNav").addEventListener("click", myFunction);
</script>
</body>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravelイベントを適切にテストするにはどうすればよいですか?

分類Dev

ポインタのベクトルを適切に使用するにはどうすればよいですか?

分類Dev

onclickイベントにJavaScriptでhtmlの要素を使用するにはどうすればよいですか?

分類Dev

スキームコードを適切にインデントするJavaScript関数を作成するにはどうすればよいですか?

分類Dev

JavaScriptの.onclickイベントをデバッグするにはどうすればよいですか?

分類Dev

トランクからSVNタグを適切に作成するにはどうすればよいですか?

分類Dev

自分のリストスタイルを適切に作成するにはどうすればよいですか?

分類Dev

Javascriptでタイムアウトを適切に再開するにはどうすればよいですか?

分類Dev

Javascript / Jqueryイベントを動的に作成するにはどうすればよいですか?

分類Dev

javascriptでdblclickイベントを作成するにはどうすればよいですか?

分類Dev

Tezのように参照するインテントを適切に作成するにはどうすればよいですか?

分類Dev

onclickイベントに適用できるように、変数の色の値を返すにはどうすればよいですか?

分類Dev

自分のCSSでSassを適切にインポートするにはどうすればよいですか?

分類Dev

Flowplayer javascript APIを使用して埋め込まれたビデオのonclickイベントを作成するにはどうすればよいですか?

分類Dev

すべてのOnClickイベントを処理するように親ビューを作成するにはどうすればよいですか?

分類Dev

onclickイベントで「if」条件をアクティブにするにはどうすればよいですか

分類Dev

vaadin 7でOnClickイベントを<body>要素に設定するにはどうすればよいですか?

分類Dev

ドメインとサブドメインに適切なデータベース構造を作成するにはどうすればよいですか?

分類Dev

すべての<a>に自己参照onclickイベントを追加するにはどうすればよいですか?

分類Dev

ワークベンチでトリガーを適切に作成するにはどうすればよいですか?

分類Dev

gwt:別のイベントでonClickによって作成されたウィジェットを使用するにはどうすればよいですか?

分類Dev

Vue.jsに条件付きイベントバインディングを適切に追加するにはどうすればよいですか?

分類Dev

filepickerによって発生するonChangeイベントを適切に呼び出すにはどうすればよいですか?

分類Dev

コントロールのEventHandlerListにイベントハンドラーを適切に追加するにはどうすればよいですか?

分類Dev

onclickイベントをWordpressメニューに追加するにはどうすればよいですか?

分類Dev

helpertext Material UI TextFieldにonClickイベントを追加するにはどうすればよいですか?

分類Dev

同じ関数の.appendChildに「onclick」イベントを追加するにはどうすればよいですか?

分類Dev

角度パラメータをonclickイベントに送信するにはどうすればよいですか?

分類Dev

データベースのonclickを更新するインクリメントボタンをCodeigniterで作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Laravelイベントを適切にテストするにはどうすればよいですか?

  2. 2

    ポインタのベクトルを適切に使用するにはどうすればよいですか?

  3. 3

    onclickイベントにJavaScriptでhtmlの要素を使用するにはどうすればよいですか?

  4. 4

    スキームコードを適切にインデントするJavaScript関数を作成するにはどうすればよいですか?

  5. 5

    JavaScriptの.onclickイベントをデバッグするにはどうすればよいですか?

  6. 6

    トランクからSVNタグを適切に作成するにはどうすればよいですか?

  7. 7

    自分のリストスタイルを適切に作成するにはどうすればよいですか?

  8. 8

    Javascriptでタイムアウトを適切に再開するにはどうすればよいですか?

  9. 9

    Javascript / Jqueryイベントを動的に作成するにはどうすればよいですか?

  10. 10

    javascriptでdblclickイベントを作成するにはどうすればよいですか?

  11. 11

    Tezのように参照するインテントを適切に作成するにはどうすればよいですか?

  12. 12

    onclickイベントに適用できるように、変数の色の値を返すにはどうすればよいですか?

  13. 13

    自分のCSSでSassを適切にインポートするにはどうすればよいですか?

  14. 14

    Flowplayer javascript APIを使用して埋め込まれたビデオのonclickイベントを作成するにはどうすればよいですか?

  15. 15

    すべてのOnClickイベントを処理するように親ビューを作成するにはどうすればよいですか?

  16. 16

    onclickイベントで「if」条件をアクティブにするにはどうすればよいですか

  17. 17

    vaadin 7でOnClickイベントを<body>要素に設定するにはどうすればよいですか?

  18. 18

    ドメインとサブドメインに適切なデータベース構造を作成するにはどうすればよいですか?

  19. 19

    すべての<a>に自己参照onclickイベントを追加するにはどうすればよいですか?

  20. 20

    ワークベンチでトリガーを適切に作成するにはどうすればよいですか?

  21. 21

    gwt:別のイベントでonClickによって作成されたウィジェットを使用するにはどうすればよいですか?

  22. 22

    Vue.jsに条件付きイベントバインディングを適切に追加するにはどうすればよいですか?

  23. 23

    filepickerによって発生するonChangeイベントを適切に呼び出すにはどうすればよいですか?

  24. 24

    コントロールのEventHandlerListにイベントハンドラーを適切に追加するにはどうすればよいですか?

  25. 25

    onclickイベントをWordpressメニューに追加するにはどうすればよいですか?

  26. 26

    helpertext Material UI TextFieldにonClickイベントを追加するにはどうすればよいですか?

  27. 27

    同じ関数の.appendChildに「onclick」イベントを追加するにはどうすればよいですか?

  28. 28

    角度パラメータをonclickイベントに送信するにはどうすればよいですか?

  29. 29

    データベースのonclickを更新するインクリメントボタンをCodeigniterで作成するにはどうすればよいですか?

ホットタグ

アーカイブ