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

5
jQueryでlive()をon()に変える
私のアプリケーションは動的にドロップダウンを追加しました。ユーザーは必要なだけ追加できます。 私は伝統的に、jQueryのlive()メソッドを使用して、これらのドロップダウンの1つがchange()編集されたことを検出していました。 $('select[name^="income_type_"]').live('change', function() { alert($(this).val()); }); jQuery 1.7以降、これを次のように更新しました。 $('select[name^="income_type_"]').on('change', function() { alert($(this).val()); }); ドキュメントを見ると、これは完全に有効なはずです(そうですか?)-しかし、イベントハンドラーは起動しません。もちろん、jQuery 1.7がロードされて実行されていることなどを確認しました。エラーログにエラーはありません。 何が悪いのですか?ありがとう!

3
祖先にjQueryを使用してクラスがあるかどうかを確認する
jQueryに親、祖父母、偉大な祖父母がクラスを持っているかどうかを確認する方法はありますか? 私はコードでこの種のことをやらせているマークアップ構造を持っています: $(elem).parent().parent().parent().parent().hasClass('left') ただし、コードを読みやすくするために、このようなことは避けたいと思います。「親/祖父母/偉大な祖父母がこのクラスを持っている」と言う方法はありますか? jQuery 1.7.2を使用しています。

15
エラー「フォームが接続されていないため、フォームの送信がキャンセルされました」が発生する
私は2日前まで正しく動作するJQuery 1.7の古いウェブサイトを持っています。突然、一部のボタンが機能しなくなり、ボタンをクリックした後、コンソールに次の警告が表示されます。 フォームが接続されていないため、フォームの送信はキャンセルされました クリックの背後にあるコードは次のようなものです: this.handleExcelExporter = function(href, cols) { var form = $('<form method="post"><input type="submit" /><input type="hidden" name="layout" /></form>').attr('action', href); $('input[name="layout"]', form).val(JSON.stringify(cols)); $('input[type="submit"]', form).click(); } Chrome 56はこの種のコードをサポートしていないようです。だよね?はいの場合、私の質問は次のとおりです。 なぜこれが突然起こったのですか?非推奨の警告はありませんか? このコードの回避策は何ですか? コードを変更せずに、Chrome(または他のブラウザ)を以前と同じように強制する方法はありますか? PS それは最新のfirefoxバージョンでも機能しません(メッセージなし)。また、IE 11.0およびEdgeでは機能しません。(どちらもメッセージなし)

6
1つのセレクターに複数のイベントハンドラーを持つjQuery .on()メソッド
複数のイベントが関連付けられている特定のセレクターでJquery .on()メソッドを使用する方法を理解しようとしています。以前は.live()メソッドを使用していましたが、.on()で同じ機能を実現する方法がよくわかりません。以下の私のコードを参照してください: $("table.planning_grid td").live({ mouseenter:function(){ $(this).parent("tr").find("a.delete").show(); }, mouseleave:function(){ $(this).parent("tr").find("a.delete").hide(); }, click:function(){ //do something else. } }); 私は呼び出すことによって複数のイベントを割り当てることができることを知っています: $("table.planning_grid td").on({ mouseenter:function(){ //see above }, mouseleave:function(){ //see above } click:function(){ //etc } }); しかし、私は.on()の適切な使用は次のようになると信じています: $("table.planning_grid").on('mouseenter','td',function(){}); これを達成する方法はありますか?または、ここでのベストプラクティスは何ですか?以下のコードを試しましたが、サイコロはありません。 $("table.planning_grid").on('td',{ mouseenter: function(){ /* event1 */ }, mouseleave: function(){ /* event2 */ }, click: function(){ /* …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.