問題タブ [jquery-click-event]
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 - jQueryはイベントを基になる要素に渡します
クリックイベントがバインドされた画像があり、画像を拡大/縮小します。jQueryを使用して、画像の上隅に虫眼鏡を配置しています。問題は、虫眼鏡をクリックしても画像の拡大/縮小がトリガーされないことです。クリックを下にある要素に渡す、または画像を虫眼鏡のクリックイベントにサブスクライブさせるjQueryの方法はありますか?
虫眼鏡にクリックハンドラーを配置して、画像のクリックイベントをトリガーできることは知っていますが、これを行う別のより良い方法があるかどうかを知りたいです。
コメントに応えて、私の一般的なHTMLは次のとおりです。
およびjQueryの擬似コード
jquery - jQuery クリック コントロール別のクリック
a#click1
クリック アクションを からに渡したいa#click2
。をクリックa#click1
すると、リンクhttp://www.google.com
が開かれます。どうやってするか?
jquery - hrefが空の場合、jQueryアドレスプラグインは機能しますか?
私は空のhrefs(href = "#")を使用しており、jQueryクリックイベントがコントローラーからデータを取得して部分ビューで表示できるようにしています。
ただし、戻るボタンを使用できるように、jQueryアドレスプラグインを実装したいと思います。私の知る限り、空のhrefの使用をやめる必要があります。(空のhrefを使用することも悪い習慣だと思います。)
私の新しいリンクは次のようになります。
しかし、jQueryクリックイベントがそれをキャプチャする代わりに、すぐに/ Stop / Detailsにリダイレクトされます。これは、部分的なビューであるため、私が望むものではありません。どうすればこれを修正できますか?
編集:私のタイトルが質問に対して正確ではないことに気づきました。申し訳ありません。より正確なタイトルを考えて変更しようとします。
二重編集:divをリンクにネストしてはならないことにも気づきました。
私のクリックイベントは実際にはライブクリックです。これは次のようになります。
jquery - jQuery イベント ハンドラーがサイレント モードで失敗する原因は何ですか? (奇妙な jQuery の動作)
jQuery イベント ハンドラーで予期しない動作が発生しています。これは、この質問で説明されている問題と非常によく似ています:複数の要素にアタッチすると、jQuery イベント ハンドラーが失敗するのはなぜですか? .
基本的に、簡単な例は、私のページの呼び出しです
マークアップが次のとおりであると仮定します。
最後のリンクを除く送信クラスのすべてのリンクで、イベントが発生します。ページ上の最後のリンクは.submit
、イベント ハンドラーに接続されません。click(fn)
作品と交換live('click',fn)
。
私の問題は、元のハンドラーが失敗する理由がわからないことです。すべてのリンクが同時にレンダリングされ、ハンドラー サブスクリプションを でラップしています。$(document).ready()
これにより、DOM が確実に読み込まれる はずです。
ハンドラーが縮小された JavaScript ファイルの奥深くに登録されているというより複雑な状況があるため、これを理解する必要があるため、このバグが発生したときに修正するのではなく、このバグを防止する方法を理解できれば非常に役立ちます。
もう 1 つ注意すべき点は、Firefox、Chrome、および IE で同じ奇妙な動作が発生していることです。jQuery1.5.1を使用しています
javascript - クリックイベントへのバインド - イベントは 1 回だけ発生します
jquery を使用して HTML テーブルのページ付けを行っています。
aPageとthePageの2 つの CSS クラス、ページ付け文字列を作成する JavaScript 関数、およびページがクリックされたときにページ付け文字列が計算されるように、各「ページ」をクリックイベントにバインドする jquery コードがあります。
私の問題は、ページがクリックされるたびに発生するようにしたいのですが、クリック イベントが 1 回しか発生しないことです。
どんな助けでも大歓迎です。ありがとう!!
私のjavascript/jqueryコードは次のとおりです。
jquery - すべての要素が見つからない場合、Internet Explorer で jQuery イベントが発生しない問題を回避する
この問題のより良い解決策を見つけようとしています。PHP で開発しているゲームがあり、さまざまなコンテンツ ページがあります。これらのコンテンツ ページには、ドキュメント本文内のすべてが含まれます。外部PHPをロードしてゲームを更新するAJAXを呼び出すためにjQueryクリックイベントを使用しています。ただし、多くのページには、jQuery セレクターで呼び出すさまざまな要素があります。すべてのjQueryイベントを管理するためのjavascriptファイルを1つだけにしたいのですが、jQueryサイトに投稿されたコメントによると;
*"IE に関する注意。存在しない要素にライブ イベント ハンドラーを割り当てようとすると、他のライブ イベント ハンドラーは機能せず、エラーも発生しません。"
http://api.jquery.com/live/
残念ながら、私のプレイヤー ベースの大部分は、まだ IE 6 ~ 8 を使用しています。このため、私のフッター ファイルでは、さまざまな JavaScript ファイルを呼び出しています。私のゲームには多くの異なるページがあり、フッターで多くの JavaScript ファイルを呼び出したくないので、誰かがこれに対するより良い回避策を教えてくれることを望んでいました。
または、 < body >タグ内からjavascriptファイルを含めることができる方法があった場合、それは別の解決策になります(ただし、調査したところ、これは可能ではないと思います)。
ありがとう。
jquery - .clickイベントが発生しないようです
<script>
タグ内に次のコードがあります。
...そして以下のいくつかのhtml:
...しかし、「リセット」という言葉をクリックしても、何も起こりません。
「id」から「class」に変更し、jQueryコードを適切に更新してみました(「#toolbarReset」は「toobarReset 」になりました)。.clickイベント内にコードを入れてFirebugコンソールに出力しようとし、「toolbarReset」がDOM内の一意のIDであることを確認しました。
javascript - jQuery .change() イベントは、新しいバージョンでは .click() でトリガーされますか?
現在、アプリケーションをアップグレードして jQuery 1.6.1 (以前は 1.4.4 を使用) を使用していましたが、.click()
イベントが自動的にイベントをトリガーするように.change()
なりました。
ここに簡単な例を作成しました: http://jsfiddle.net/wDKPN/
1.4.4 を含めると、イベントがトリガーされたときに.change()
関数が起動しないことに注意してください。.click()
しかし、1.6 に切り替えると、がトリガーされたときに.change()
イベントが発生します。.click()
2 つの質問:
これはバグですか? プログラムによるトリガーは、他のイベントも発生させる
.click()
べきではないようです (たとえば、ユーザーのクリックを「模倣」するために、自動的に発生する.blur()
andも間違っているように思われます)。.focus()
/li>change()
イベントをバインドし、その要素のイベントとイベントの両方をトリガーする適切な方法は何ですか?click()
change()
単に を呼び出し.click()
て、 も起動するという事実に依存し.change()
ますか?
私の古いコードでは、このパターンを使用して、ajax 呼び出しの後にいくつかのチェックボックス (およびチェックされた状態と値) を初期化しています。
しかし、1.6.1 では、私のロジックは 2 回起動します (1 回.click()
と で 1 回.change()
)。トリガーを削除するだけ.change()
で、将来のバージョンでも jQuery が引き続きこのように動作することを期待できますか?
jquery - 新しいjQuery関数を追加すると、既存のjQuery関数の実行が妨げられるのはなぜですか?
新しいjQueryクリック関数を追加すると、既存のAJAX呼び出しが正しく機能しなくなる理由を特定するのに苦労しています(注:新しい関数の追加を原因として再確認し、切り分けました)。
状況のコンテキストは、ユーザーに文章題を与え、ユーザーの応答の時間を計り、AJAX呼び出しを使用してユーザーの回答を処理し、追加の提案された回答を表示するページがあることです。この機能はすべて機能します。ただし、ユーザーがスタートボタンをクリックするまで(ページが読み込まれるときにタイマーが開始する前に)タイマーが開始しないようにコードを微調整すると、AJAXコードは機能しなくなりました。
私の質問は、AJAX呼び出しが元のjQueryタイマーで機能するのに、微調整されたjQueryタイマーコードでは機能しないのはなぜかということです。
どんな洞察も大歓迎です!
元のタイマーjQueryは次のとおりです。
クリック機能が追加された新しいタイマーjQueryは次のとおりです。
AJAX呼び出しは次のとおりです。
適用されるHTML:
jquery - クリック機能はホーミング機能を停止します
これはおそらく簡単な解決策ですが、私はそれを理解していません。だから私は、ナビゲーションの色を変更するjquery .click()関数を持っている1ページのサイトに取り組んでいます。また、色を変更する .hover() 関数もあります。ホバー機能は、ナビゲーションのいずれかがクリックされるまで問題なく機能します。その後、ホバー機能が機能しなくなります。ここに私のコードがあります
提案?