問題タブ [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.
jquery - .live()jQuery-イベントを変更する方法
これらのイベントを.live()イベントハンドラーに変更するにはどうすればよいですか?
$(document).ready(function()... to .... $(document).live(function()、.keydown、.dataを.liveに変更できると思いましたが、できません。それが機能するようです...助けてください。
jquery - jQuery .on() が機能する場合と機能しない場合があります
奇妙な問題があります。最初は .on() メソッドをまったく動作させることができず、使用したくなかったので、.live() を使用しました。
今、私は新しい jQuery スクリプトを書いています。今まで。
jQuery コード:
HTML コード:
この方法も試しました:
運がない。私は何が欠けていますか?
これは機能しない唯一の部分です
.on() に関するドキュメントを読みましたが、それに基づいて、これは機能するはずです。また、最新の jQuery (jquery-1.8.3.min.js) を使用しています。
編集
<a>
要素には CSS のwidth: 15px
andheight: 15px
があるため、それらは表示されます。
this - on() 使用時の $(this) の参照方法
私はon()
模倣するために使用しており、渡したセレクターを参照するlive()
ように適切に参照する方法を一生理解することはできません。$(this)
$(this)
"body"
"select"
jquery - 1.7.2でのjQueryイベントの委任
から委任する以外に、セレクターに一致するページ上のすべての要素に対応するjQueryを使用してイベントを委任する方法はあります$(document)
か?
それはおそらく言葉遣いが悪いので、ここにこすりがあります:
以前jQuery.live
は、セレクターに一致するすべての要素にイベントが委任されていました。これはjQuery.delegate
、特定のコンテキストセレクター内のイベントをその子に委任することによって置き換えられましたjQuery.on
。これは、実質的に同じことを実行しますが、舞台裏で異なるビットを使用するによって置き換えられました(私は想像します)。
私がやりたいのはdiv.foo
、どこに住んでいるか、いつ住んでいるかに関係なく、ページ上のすべてにイベントハンドラーを安全に追加することです。.foo
ドキュメントと実証研究によると、以下はスクリプトの実行時に存在する要素にのみバインドされます。後でページに要素を配置する可能性のあるコードがあるため.foo
、これは正確には機能しません。
は廃止された(おそらく削除された?)のでlive
、私はそれを使わないようにしていますが、私が思いつくことができる唯一の解決策は
しかし、これlive
は舞台裏で最初に行われたことではありませんか?もっと要点を言えば、これを行わない重要な理由はありますか?
特にバージョン1.7.2を使用していますが、一般的なjQueryの回答も役立ちます。
html - jQueryはライブワークが機能していないことにカーソルを合わせます
私は問題を抱えていました
両方とも機能しなかった、を試し.on('hover'
た後、試しました。
動作しました..しかし、私はjQuery 1.8.3を使用していますが、これはなぜですか?これが私が使っていたコードです:.hover()
.live('hover',)
.live('hover',)
jQuery
HTML
時々、私はばかげた間違いをしているだけなのか、それとも言語が狂っているだけなのか疑問に思います。
javascript - jQuery-.liveを.onclickに変換する
次のコード(これを簡略化したもの)があり、jquery-1.7と一緒に正常に機能しました。
コードをアップグレードしようとしているので、jQueryパックのバージョンをアップグレードできるので、これに変更しました。
ただし、これは何もしません。エラーもスローされないので、どこに問題があるのかわかりません。
何か案は?
dom - イベントに対処する必要なく、DOM がロードされた後に動的に追加された要素を参照する方法は?
.on
JQueryがあり、そこから利用できることは知ってい.live (deprecated)
ますが、動的に追加された要素の1つ以上のイベントにイベントハンドラーをアタッチすることを前提としていますが、私はそうではありません。それを参照するだけで、その属性の一部にアクセスできます。
より具体的に言うと、このような複数の動的要素がすべてclass="cluster"
セットであり、それぞれが異なる値 (title 属性、top 属性、および left 属性) を持っています。
これらのjqueryオプションはどれも機能しません:
繰り返しますが、イベント ハンドラーをアタッチしたくないので、.on
それを乗っ取って偽のイベント、doNothing ハンドラーを追加し、属性を参照するだけでも、適切な解決策とは思えません。
もっと良い解決策があるはずです。何か案は?
更新:
要素が DOM に動的に追加されたが、JQuery を介して追加されなかったと言うつもりだったので、タイトルを誤って述べました。タイトルを更新しました。
jquery - ページ上の任意の場所でクリックと要素クラス名がトリガーされる jQuery on() メソッド
最近、jQuery を 1.9 にアップグレードしましたが、私の主な問題は、すべての live() メソッドを on() に変換することです。
いくつかの状況で成功しましたが、非常に奇妙な動作をする他の方法がいくつかあります。
以下を例に取ります。
クラス「clickReplace」は、「a」、「span」、または「div」タグのいずれかに割り当てることができ、ajax 呼び出しの後に (動的に) DOM に追加される場合があります。
上記を使用すると、このクラスが割り当てられていないページ上のリンクをクリックするたびに e.preventDefault() がトリガーされます-ページ間を移動できません-まるで「ドキュメント」にバインドされているかのように指定されたクラスを持つドキュメント ツリー内の要素よりも。
何が原因で、それを機能させるにはどうすればよいですか?
jquery - jQuery On の問題、特に iPad の問題
それを読んで、使用のために何度か「通知」されたのとlive
は対照的にon
、すべてのコードをon
...に移動し、多くの問題を抱えています!!
そのほとんどは克服しましたが、今日は非常に奇妙な問題があります。
メッセージヘッダーが表示される質問/回答掲示板がありますが、ヘッダーをクリックするとコンテンツが動的に読み込まれ、HTML は
headerRow
メッセージ スレッドを閉じたり削除したりするためのいくつかのボタンと、span
メッセージの詳細、ユーザー名、電子メールの件名、および返信フォームを開くために押すボタンを含むコンテナーがあります。
クラスを含むスパンにopenCurrent
は、次のようにバインディングに関する jQuery があります。
現在、これは私の PC では完全に機能しますが、iPad では信頼できません。
時々機能しますが、なぜ/いつ機能するかについてのパターンを理解できません。
私は最初、on
バインドを次のようにしました。
しかし、モバイル Safari のバグについて読んだ後、ここで:
jQuery .on() および .delegate() が iPad で機能しない
ボディに変えてみましたが、挙動に変化はありませんでした。
click
この場合、要素に CSS が含まれていない限り、モバイル Safari はイベントをトリガーしないことにも以前気付きましたcursor:pointer
。デスクトップ GUI で視覚的に意味があるため、既に配置されています。
誰でもアイデアはありますか?
編集:
iPad の Chrome でも機能しません。
追加編集:
headerRow
クリックイベントを要素にバインドしようとしましたが、同じ問題が発生します
javascript - jQuery on() またはライブ
以下のコードを使用しようとしています。Firefox では正常に動作しますが、IE または Chrome を試してみると、メソッドon
またはlive
メソッドが起動しません。誰でもそれについて私を助けることができますか?