タグ付けされた質問 「jquery-events」

これらのメソッドは、ユーザーがブラウザーを操作したときに有効になるように動作を登録し、さらにそれらの登録された動作を操作するために使用されます。

5
直接と委任-jQuery .on()
私は、jQuery .on()メソッドを使用して、直接イベントハンドラと委任イベントハンドラのこの特定の違いを理解しようとしています。具体的には、この段落の最後の文: ときにselector提供され、イベントハンドラが呼ばれる委任します。ハンドラーは、イベントがバインドされた要素で直接発生した場合には呼び出されず、セレクターに一致する子孫(内部要素)に対してのみ呼び出されます。jQueryは、イベントターゲットからハンドラーが接続されている要素(つまり、最も内側から最も外側の要素)までイベントをバブルし、そのパスに沿ってセレクターに一致するすべての要素のハンドラーを実行します。 「要素のハンドラを実行する」とはどういう意味ですか?コンセプトを試すためのテストページを作成しました。ただし、次の両方の構成は同じ動作になります。 $("div#target span.green").on("click", function() { alert($(this).attr("class") + " is clicked"); }); または、 $("div#target").on("click", "span.green", function() { alert($(this).attr("class") + " is clicked"); }); 多分誰かがこの点を明確にするために別の例を参照できますか?ありがとう。


9
jQueryはキーを押した後に入力値を取得します
次の機能があります。 $(document).ready(function() { $("#dSuggest").keypress(function() { var dInput = $('input:text[name=dSuggest]').val(); console.log(dInput); $(".dDimension:contains('" + dInput + "')").css("display","block"); }); }); 何らかの理由で、最初のキーを押したときに、コンソールログに空の文字列が表示されます。



14
オンライン/オフラインイベントのクロスブラウザを検出するにはどうすればよいですか?
HTML5のオンラインイベントとオフラインイベントを使用して、ブラウザーがオフラインになったことを正確に検出しようとしています。 これが私のコードです: <script> // FIREFOX $(window).bind("online", applicationBackOnline); $(window).bind("offline", applicationOffline); //IE window.onload = function() { document.body.ononline = IeConnectionEvent; document.body.onoffline = IeConnectionEvent; } </script> FirefoxまたはIEで「オフラインで作業」を押すだけで問題なく動作しますが、実際にケーブルを抜くとランダムに動作します。 この変化を検出する最良の方法は何ですか?タイムアウトでajax呼び出しを繰り返さないようにしたいと思います。

13
jQuery scroll()は、ユーザーがスクロールを停止したことを検出します
これでOK $(window).scroll(function() { $('.slides_layover').removeClass('showing_layover'); $('#slides_effect').show(); }); 私が理解しているものから誰かがスクロールしていることを知ることができます。ですから、誰かが止まったときにどうやって捕まえるかを考えています。上記の例から、スクロールが行われている間に、要素のセットからクラスを削除していることがわかります。ただし、ユーザーがスクロールを停止したときにそのクラスを元に戻したいと思います。 この理由は、ページをスクロールしている間、私が取り組んでいる特別な効果をページに与えるために、レイオーバーショーを行うことです。しかし、スクロール中に削除しようとしている1つのクラスは、ある種の性質に対する透過効果として、その効果と競合します。


8
Ajaxで読み込まれたコンテンツにイベントをバインドする方法は?
HTMLページの(appendedContainer)にmyLinkAJAXロードされたコンテンツを挿入するリンクがありdivます。問題は、clickjQueryにバインドしたイベントが、appliedContainerに挿入された新しくロードされたコンテンツで実行されないことです。clickイベントは、私のAJAX機能がロードされていないDOM要素にバインドされています。 イベントがバインドされるように、何を変更する必要がありますか? 私のHTML: <a class="LoadFromAjax" href="someurl">Load Ajax</a> <div class="appendedContainer"></div> 私のJavaScript: $(".LoadFromAjax").on("click", function(event) { event.preventDefault(); var url = $(this).attr("href"), appendedContainer = $(".appendedContainer"); $.ajax({ url: url, type : 'get', complete : function( qXHR, textStatus ) { if (textStatus === 'success') { var data = qXHR.responseText appendedContainer.hide(); appendedContainer.append(data); appendedContainer.fadeIn(); } } }); }); …

4
Chromeでドロップイベントが発生しない
期待どおりにドロップイベントがトリガーされていないようです。 ドラッグされている要素がターゲット要素の上にリリースされると、ドロップイベントが発生すると思いますが、そうではないようです。 私は何を誤解していますか? http://jsfiddle.net/LntTL/ $('.drop').on('drop dragdrop',function(){ alert('dropped'); }); $('.drop').on('dragenter',function(){ $(this).html('drop now').css('background','blue'); }) $('.drop').on('dragleave',function(){ $(this).html('drop here').css('background','red'); })

5
jQueryでデフォルトのリンククリック動作を停止する方法
Webページにリンクがあります。ユーザーがクリックすると、ページ上のウィジェットが更新されます。ただし、デフォルトの機能(別のページに移動する)がイベントが発生する前に発生するため、私は何かをしています。 リンクは次のようになります。 <a href="store/cart/" class="update-cart">Update Cart</a> jQueryは次のようになります。 $('.update-cart').click(function(e) { e.stopPropagation(); updateCartWidget(); }); 何が問題ですか?

4
イベントでjQueryを使用してクリックされた要素を取得しますか?
次のコードを使用して、動的に生成されたボタンがクリックされたことを検出しています。 $(document).on("click",".appDetails", function () { alert("test"); }); 通常、実行した場合は、クリックされた要素を取得するために$('.appDetails').click()使用でき$(this)ます。上記のコードでこれをどのように達成しますか? 例えば: $(document).on("click",".appDetails", function () { var clickedBtnID = ?????? alert('you clicked on button #' + clickedBtnID); });
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.