ホームページ ウェブフロントエンド jsチュートリアル JavaScriptのforループを使用して一括登録したイベントが正しくインデックス値を取得できない問題の解決方法_javascriptスキル

JavaScriptのforループを使用して一括登録したイベントが正しくインデックス値を取得できない問題の解決方法_javascriptスキル

May 16, 2016 pm 04:25 PM
for ループ javascript イベント バッチ 登録する 得る 解決

この記事の例では、JavaScript が for ループを使用してバッチに登録されたイベントのインデックス値を正しく取得できない問題の解決方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

多くの友人は問題に遭遇するかもしれません。つまり、for ループを使用してイベント処理関数をバッチで登録し、最後にイベント処理関数を通じて現在の要素のインデックス値を取得するときに失敗します。まずはコード例:

コードをコピーします コードは次のとおりです:



<頭>


スクリプト ホーム

<スクリプトタイプ="text/javascript">
window.onload=function(){
var oLis=document.getElementsByTagName("li");
var oshow=document.getElementById("show");
for(varindex=0;index oLis[インデックス].onclick=function(){
oshow.innerHTML=index;
}
}
}





  • 一生懸命働くことによってのみ、より良い明日を手に入れることができます。

  • 分かち合いと相互支援は進歩の最大の源です。

  • 毎日が新しいので大切にしましょう。

  • 誰も最初からマスターではありません。努力を通じてのみ成長することができます

  • 今だけが価値があって、次の1秒は幻だ




上記のコードでは、li 要素をクリックすると、ポップアップ値は常に 4 になります。li 要素をクリックすると、div 内の現在の li 要素のインデックス値が表示されるということです。理由。理由は非常に簡単で、forループ実行後にindexの値が4になったため、上記の現象が発生します。
コードは次のように変更されます:

コードをコピーします コードは次のとおりです:



<頭>


スクリプト ホーム

<スクリプトタイプ="text/javascript">
window.onload=function(){
var oLis=document.getElementsByTagName("li");
var oshow=document.getElementById("show");
for(varindex=0;index oLis[インデックス]._index=index;
oLis[インデックス].onclick=function(){
oshow.innerHTML=this._index;
}
}
}





  • 一生懸命働くことによってのみ、より良い明日を手に入れることができます。

  • 分かち合いと相互支援は進歩の最大の源です。

  • 毎日が新しいので大切にしましょう。

  • 誰も最初からマスターではありません、努力を通じてのみ成長することができます

  • 今だけが価値があって、次の1秒は幻だ




上記のコードは要件を満たしています。もちろん、次のコードも使用できます。

コードをコピーします コードは次のとおりです:


<頭>


スクリプト ホーム

<スクリプトタイプ="text/javascript">
window.onload=function(){
var oLis=document.getElementsByTagName("li");
var oshow=document.getElementById("show");
for(varindex=0;index (関数(インデックス){
oLis[インデックス].onclick=function(){
oshow.innerHTML=index;
}
})(インデックス)
}
}





  • 一生懸命働くことによってのみ、より良い明日を手に入れることができます。

  • 分かち合いと相互支援は進歩の最大の源です。

  • 毎日が新しいので大切にしましょう。

  • 誰も最初からマスターではありません、努力を通じてのみ成長することができます

  • 今だけが価値があって、次の1秒は幻だ





この記事が皆さんの JavaScript ベースの Web プログラミングに役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

Avue-Crudの行編集モードでセルのOnblurイベントを手動でトリガーする方法は? Avue-Crudの行編集モードでセルのOnblurイベントを手動でトリガーする方法は? Apr 04, 2025 pm 02:00 PM

AvueコンポーネントライブラリでAvue-Crudの行編集を実装するOnblurイベントは、Avue-Crudコンポーネントを手動でトリガーします。便利なインライン編集機能を提供しますが、時にはする必要があります...

ストリームで動作するときにRXJSコードが有効にならないのはなぜですか? ストリームで動作するときにRXJSコードが有効にならないのはなぜですか? Apr 04, 2025 pm 06:27 PM

RXJSを使用してストリームで動作する場合、なぜコードが有効にならないのですか? rxjsを学ぶ...

PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定するにはどうすればよいですか? PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定するにはどうすればよいですか? Apr 04, 2025 pm 04:06 PM

PNPMおよびMonorepoプロジェクトでローカルパッケージのバージョンを指定する方法PNPMとMonorepoを使用してプロジェクトを管理する際には、プロジェクト間でローカルエリアを共有する必要性が発生します...

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

要素プラステーブルコンポーネント最大高さは無効ですか?テーブルを高度に適応性のあるものにし、スクロールバーを表示するにはどうすればよいですか? 要素プラステーブルコンポーネント最大高さは無効ですか?テーブルを高度に適応性のあるものにし、スクロールバーを表示するにはどうすればよいですか? Apr 04, 2025 pm 04:03 PM

ElementPlusテーブルコンポーネントのMax-Height属性障害とソリューションは、要素を使用することです...

Avue-Crudテーブルで編集をリリースするためにぼかしイベントを手動でトリガーする方法は? Avue-Crudテーブルで編集をリリースするためにぼかしイベントを手動でトリガーする方法は? Apr 04, 2025 pm 02:30 PM

Avue-Crudテーブルの行編集をAVUEコンポーネントライブラリで実装するBlurイベントは、Avue-Crudコンポーネントを手動でトリガーして、便利なテーブルデータ編集機能を提供しますが、その行編集...

opencv.js投影変換の結果が空白の透明な画像であるという問題を解決する方法は? opencv.js投影変換の結果が空白の透明な画像であるという問題を解決する方法は? Apr 04, 2025 pm 03:45 PM

opencv.js投影変換の結果で透明な画像の問題を解決する方法は空白です。画像処理にopencv.jsを使用する場合、投影変換後に画像に遭遇することがあります...

See all articles