問題タブ [preventdefault]
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 - event.preventDefaultでリンクをターゲットにする方法は?
ここにクリックハンドラーとのリンクがあります。hrefは私が必要とする情報でいっぱいです。しかし、私はこのリンクを開くためにクリックしたくありません。だから私はevent.preventDefaultを実行し、それは正常に動作します。しかし、誰かがリンクをクリックした場合、target ="_top"にする必要があります。これも可能ですか?
javascript - event.preventDefaultが機能しない
私はここにこの単純なコードを持っていますが、それほど高度なものはありません。
「送信」ボタンをクリックしてもevent.preventDefault
機能が動作せず、ページが読み込まれます。
なぜ何かアイデアはありますか?
jquery - jQueryで特定のイベントの後に機能を防止しますか?
だから私はスクロールイベントを $(window) のように添付しています:
$(window).bind('scroll', function() {});
その中には、ユーザーがページを下にたどりながら入力できるフォームがあります (スクロールする時間に関係なく)。彼らがフォーム全体に記入した後、元の位置に戻るまでその場所にとどまりたいと思います.
理想的には、関数がそれ以上呼び出されないようにするだけでうまくいくと思います。
スクロール イベントのバインドを解除するか、e.preventDefault() を使用することを考えていましたが、何を探すべきかよくわかりません。
誰かが私を正しい方向に向けることができますか?
javascript - javascript preventdefault はキープレスを殺します
OSX 10.6.8でクロム15を使用
イベント リスナーを追加するpreventDefault
ときに、keypress
イベントが使用されているときに挿入すると、大量の問題が発生することがわかりました。
その行のコメントを外すevent.preventDefault();
と、キープレスイベントが機能しなくなることがわかります。どうしたんだ?
jquery - false を返すことで、jQuery on() が泡立つのを防ぐべきではありませんか?
jQueryのドキュメントによると
イベント ハンドラから false を返すと、自動的に event.stopPropagation() と event.preventDefault() が呼び出されます。function(){ return false; の省略形として、ハンドラーに false 値を渡すこともできます。}。したがって、 $("a.disabled").on("click", false); クラスが「無効」のすべてのリンクにイベント ハンドラーをアタッチします。これにより、クリックされたときにリンクをたどることができなくなり、イベントのバブリングも停止します。
したがって、クリックイベントを作成すると:
.toggle
からに伝播する機会がないため、クリックが登録されないことが予想されます#sidebar
私が思いついた唯一の説明は、これが許されるとon()
関数がかなり無意味になるということです。おそらく、この場合はバイパスされますか?
on()
バブリングに関しては、どのような規則に従いますか?
forms - フォームは引き続き preventDefault で送信されます
jQuery を使用して、フォームのアクションでフォーム データをファイルに送信しています。ただし、フォームを送信すると、ブラウザーはアクション (comment.php) にリダイレクトされます。e.preventDefault()
ブラウザのリダイレクトを停止する必要があるため、これがなぜなのかわかりません。理想的には、ブラウザーがリダイレクトせずに現在のページ (index.php) にとどまるようにしたいと考えています。
jQuery:
HTML フォーム:
jquery - jQuery .preventDefault();
2 つの jQuery スクリプトがあります。1 つは .preventDefault を追加する前、もう 1 つは .preventDefault を追加した後の同じスクリプトのコピーです。jQuery は最初は機能しますが、.preventDefault() を追加した後は機能しません
動作する初期スクリプト
動かないスクリプト...
私が行った唯一の変更は、最初の if ステートメントが .preventDefault() を呼び出す if/else になることです。最初のスクリプトは問題なく動作しますが、2 番目のスクリプトは失敗します。なんで?organizationElement の値が既存のレコードの idk である場合、.preventDefault() メソッドを呼び出しています。
@Andrew: あなたの編集を明確にするために...スクリプトを次のように修正する必要があります: ...
... b/c $(this).preventDefault(); を変更すると正しく動作することに注意しました。e.preventDefault(); に
私が最初に書いたように、メソッドを $(this) オブジェクトにアタッチしたい場合、おそらくそれを書く方法を示そうとしていますか?
javascript - 特定の場所で「Enter」が押されたときにボタンがフォームを送信しないようにする
クイック編集機能(AJAXを使用して1つのフィールドのみを更新する)を備えたテーブルがあり、「enter」で変更を送信したいと思います。問題は、同じページのフォームにボタンがあり、「Enter」を押すたびに、そのボタンに添付されているアクション(つまり、フォームを送信する、実行したくない)が実行され、理解できないことです。それを防ぐ方法を私の人生のために。
私は次のコードを試しましたが、キーアップイベント(おそらく間違っています)とボタンのデフォルトを防ぎます。私の理解では、オブジェクトではなくイベントのデフォルトを防ぐので、どうすればよいか本当にわかりません-
ありがとう。
events - e.preventDefault(); Firefoxで動作しない動作?
キーイベントを処理するためのこの基本的な機能があり、すべてがうまく機能します。ただし、Firefox 9.0.1では、ブックマークが表示されるデフォルトのイベントを防ぐことができないようです。
FFのデフォルトの動作を防ぐための解決策はありますか?