問題タブ [jquery-on]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
73 参照

javascript - このjquery on() を正しい方法で書くにはどうすればよいですか?

これが私が持っているものです

これが間違った構文であることはわかっていますが、正しい構文は何ですか? クリックイベントとマウスイベントを分離すれば、それを書くことができることはわかっています。しかし、それらを組み合わせる方法はありますか、それとも分離する必要がありますか? 御時間ありがとうございます

0 投票する
6 に答える
1359 参照

javascript - jQuery .on click イベントが発生しない

こんにちは、読んでくれてありがとう。HTMLonclick="__"参照の使用を避け、代わりにこれらのイベントを .js ファイルに入れようとしています。jQuery の .click() と .on() イベントについて読んだ後、ボタンのコードでこれを使用しようとしました。

edit<p>残りの内容のないa を急いで作成するため多くの回答は、p[name=p+または#p+参照に切り替えることを推奨していますが、私の主な問題は、ID/名前への参照の前にアラートを出すことさえできないことです。ご回答ありがとうございます。

HTML:

JS:

上記のコードは、ボタンをクリックしてもアラートに到達しません。また、名前と ID でボタンを参照し、$(document).ready($('.deleter')___.

$(handler)ドキュメントの準備ができた後にクリックイベントを設定するために、フォーマットも使用してみました。どちらの方法もうまくいかないようです。この時点で、.js ファイルonclick="deleteButton()"deleteButton()関数を追加しましたが、関数はすべてのタグ を検出$(this)せず、削除するだけです。<p>

私のjavascriptの残りの部分は機能しています。これを HTML の下部に含めようとはしていませんが.on()、HTML にもスクリプトを含めないようにしています。完全を期すために、HTML のレンダリングに .jsp ファイルを使用して、Chrome と Firefox の両方でテストを行ってきました。

再度、感謝します。

編集

jquery と js を直接コピーして貼り付けて参照する方法を次に示します。

これが、私のhtmlがdivに至るまでの様子です。

挿入されます:

<p>の生成方法は次のとおりです。

別の注意として、以前に重要であると見なすべきでした:.clickまたは.on(click, handler)が参照している HTML は、別の js 関数によって作成されています。

0 投票する
1 に答える
1312 参照

jquery - jQueryライブクエリをオンに変換する方法は?

このコードは機能しますが、実際には「on」を使用するように切り替える必要がある古いレガシー関数「livequery」を使用しています。しかし、私の人生では、これを機能させることはできません。これが私のコードスニペットです。

そして、私はこれを試しました...

「ドラッグ可能」はイベント名ではないと推測しているため、機能しませんでした...

ありがとう..

0 投票する
1 に答える
155 参照

javascript - 新しく追加された要素の入力とテキストエリアに属性を設定するjquery

新しい要素がdomに追加されたときにそれを機能させるには、どのようなひねりがありますか。$(document).ready でルールが実行された後、新しく追加された要素にこのルールを適用するには、input:text と textarea に影響を与えます

完璧ではありませんが、これが答えです。

すべての反対票をありがとう..

0 投票する
2 に答える
598 参照

jquery - (ライブ)対(バインド)でのJqueryの最高のパフォーマンス

旧ライブとしての使用時と旧バインドとしての使用時の性能について質問です。

私の質問は、dom に複数 (数百としましょう) の要素を作成し、それぞれにイベントを追加する必要がある場合、パフォーマンスの点でより良い選択は何かということです:

  • ライブ中に「on」を1回使用する
  • 要素をバインドとして作成するたびに「on」を使用します

ご回答ありがとうございます。

0 投票する
3 に答える
2426 参照

jquery - JQuery On メソッドが機能しない

Firefox で次のエラーが発生しました: TypeError: $("#main-CNTR").on is not a function. そして、このコードはまったく機能しません:

HTML部分はこれ

マウスがスパンに入ると、メッセージが表示され、次の div が表示されます。明らかに、div#main-CNTR はメイン コンテンツ コンテナ div であり、HTML スニペットはページ内で数回繰り返されます。

live メソッドは正しく機能しますが、ie8 では機能しません。

誰でも私を助けることができますか?ありがとう!

0 投票する
2 に答える
147 参照

html - OnとLiveは、要素の動的な追加で異なる動作をします

私は次のコードを持っています、私はjQueryライブとプラグインで試しましたが、ライブで試している間、クラス「ボタン」を持つ要素にすでに存在するイベントハンドラーを新しく追加された要素に追加できます(動的に追加されますページの読み込み後)クラス「ボタン」を使用しますが、プラグインでjQueryを試してみると、既存のイベントハンドラーを新しく追加された要素に追加できません。

ライブの例

オンの例

さらに、ライブを使用してjquery readyの外部でイベントハンドラーバインディングコードを配置することはできますが、jquery readyの外部でイベントハンドラーバインディングを使用すると、イベントハンドラーが機能しません。よろしくお願いします。

0 投票する
1 に答える
35571 参照

jquery - jquery $('body')。on('click')は、複数のイベントの発生を回避するために、常に.off('click')を必要とします

乗組員を一覧表示するページ(show_crew.php)があります。このページは、Google画像検索と同様に、無限スクロールプラグインで実行されます。最初に、10個のエントリを表示します。ユーザーがshow_crew.phpの一番下に到達すると、新しい'show_crew.php'が古いものに追加され、次の10個のエントリが表示されます。

show_crew.phpに埋め込まれたいくつかのJquery関数を積み上げ、イベントをバインドします。

現在、show_crew.phpが複数回追加されるため、イベントも同じボタンに複数回バインドされます。私は毎回この問題を修正することができます$('body').off('click', 'myButton')

これは醜いです。もっとエレガントな方法はありますか?

ありがとう、マット

0 投票する
1 に答える
34 参照

jquery - JqueryOnとLiveConfusion

これらのサンプルコードを見てください。

我々は持っています

そして、jqueryコードがあります。

1-オンの場合

2-ライブあり

問題は、jqueryが.onを使用してobject-2で機能していないことです。.liveは非推奨であり、避ける必要があります。ただし、.onは動的コンテンツでは機能しません。.onを使用して動的コンテンツでjqueryコードを実行するにはどうすればよいですか?

0 投票する
4 に答える
32542 参照

javascript - すべての jquery イベントを $(document) にバインドする必要がありますか?

これはどこから来ているのか

jQuery を初めて学んだとき、通常は次のようなイベントを添付しました。

セレクターの速度とイベントの委譲について詳しく学んだ後、「jQuery イベントの委譲によりコードが高速化される」という記述をいくつか読みました。そこで、次のようなコードを書き始めました。

これは、非推奨の .live() イベントの動作を複製するための推奨される方法でもありました。私のサイトの多くは常に動的にウィジェットを追加/削除するので、これは私にとって重要です。ただし、既存のコンテナ「.my-widget」に追加された要素のみが動作するため、上記は .live() とまったく同じようには動作しません。そのコードが実行された後に HTML の別のブロックを動的に追加すると、それらの要素はそれらにバインドされたイベントを取得しません。このような:


私が達成したいこと:

  1. .live() の古い動作 // まだ存在しない要素にイベントを添付することを意味します
  2. .on() の利点
  3. イベントをバインドするための最速のパフォーマンス
  4. イベントを簡単に管理する方法

私は今、次のようなすべてのイベントを添付します:

これは私のすべての目標を満たしているようです。(はい、何らかの理由でIEの方が遅いです。理由はわかりませんか?) 単一のイベントのみが単一の要素に関連付けられており、セカンダリセレクターはイベントが発生したときにのみ評価されるため、高速です(ここで間違っている場合は修正してください)。名前空間は、イベント リスナーを簡単に切り替えることができるため、すばらしい機能です。

私の解決策/質問

そのため、jQuery イベントは常に $(document) にバインドする必要があると考え始めています。
これをしたくない理由はありますか?
これはベストプラクティスと見なすことができますか? そうでない場合、なぜですか?

このすべてを読んだ場合は、ありがとうございます。あらゆる/すべてのフィードバック/洞察に感謝します。

仮定:

  1. .on()// 少なくともバージョン 1.7をサポートする jQuery を使用する
  2. 動的に追加されたコンテンツにイベントを追加したい

読み方/例:

  1. http://24ways.org/2011/your-jquery-now-with-less-suck
  2. http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery
  3. http://www.jasonbuckboyer.com/playground/speed/speed.html
  4. http://api.jquery.com/on/