最近、プロジェクトでは、JSに要素バインディングイベントを動的に提供する必要があります。これらは以前に使用したことがありません。ちなみに、あなたはそれについて学ぶことができます。そのため、イベントをグーグルで検索し、次の2つのイベントを書きました。1つはイベントを追加し、もう1つはイベントを削除することです。
/addeventListener()、removeEventListener()は、イベントハンドラーの指定と削除の操作を処理するために使用されます//スコープ:イベントハンドラーはその要素の範囲内で実行されます。 // AddEventListener(イベント、関数、キャプチャ/バブル); removeEventListener(イベント、関数、キャプチャ/バブル)//パラメーターイベントを上記の表に示します。機能は実行される関数です。キャプチャとバブルは、W3Cによって処方された2つのタイムモードです。 //簡単には、Captureはドキュメントの先頭から最後の行を読み取り、イベントを実行することです。バブルは最初に指定された位置を見つけてから、イベントを実行します。 // Capture/Bubbleパラメーターはブール値、Captureを使用する真の手段です、Falseはバブル関数AddEvent(){var obj = document.getElementById( "txtiatacity"); if(window.addeventlistener){//他のブラウザのイベントコード:mozilla、netscape、firefox //追加されたイベントの順序は、obj.addeventlistener( 'focus'){'aa')、focus( 'aa')、focus( 'aa')、focus( 'aa')、obj.addeventlistener( 'focus')を追加せずに、addeventlistenerを使用するaddeventlistenerの使用でイベントを追加する実行命令です。 } else {// IEのイベントコードは、addメソッドを追加しますobj.attachevent( 'onfocus'、function(){test( 'aa')}); }} function removeevnent(){var obj = document.getElementById( "txtiatacity"); if(window.removeeventlistener){obj.removeeventlistener( 'focus'、function(){test( 'aa')}、false); } else {obj.detachevent( 'onfocus'、function(){test( 'aa')}); }}ページがロードされると、上記の方法が入力バインディングイベントに呼び出されます。テストは正常に追加されますが、削除は成功しません。そこで、私はオンラインで参照資料を検索しました
// AddEventListener()を介して追加されたイベントは、RemoveEventListener()によってのみ削除できます。これは行われます。以下に別の文があります。問題が見つかりました。 function(){test( 'aa')} //無効です。AddEventListener()およびRemoveEventListener()で渡されたメソッドは同じ方法ではないため、テスト( 'aa')が提案され( 'aa'){alert(msg)}はfunction addevert(){var obj = documant(var obj = getermyid() if(window.addeventlistener){//他のブラウザのイベントコード:mozilla、netscape、firefox //追加されたイベントの順序は、obj.addeventlistener( 'msg')、false)を追加することなく、addeventlistenerを使用することでaddeventlistenerを使用するaddeventlistenerの使用でイベントを追加する実行命令// } else {// IEのイベントコードは、addメソッドobj.attachevent( 'onfocus'、test( 'msg')})を追加します; }} function removeevnent(){var obj = document.getElementById( "txtiatacity"); if(window.removeeventlistener){obj.removeeventlistener( 'focus'、test( 'msg')}、false); } else {obj.detachevent( 'onfocus'、test( 'msg')); }}したがって、実行IEプロンプト:タイプの不一致はパラメーターを使用した関数をサポートしていないようであるため、関数は再びパラメーターのないフォームにカプセル化されます。
実行、追加の成功、削除または失敗。オンラインで長い間検索した後、私はこのようにほとんど書きましたが、成功しました。なぜ私のものを取り除くことができなかったのかわかりません。
その後、jQueryが元々ページで参照されていることがわかりました。そのため、jQueryのバインドイベントとバインドイベントを使用して成功しました。
残念ながら、プロジェクトが終了したら、この問題を解決しましょう。
イベントを要素に追加および削除する上記のJS動的実装方法は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。