1

jQuery を使用して、「クリック」イベント ハンドラーをいくつかの「li」HTML 要素にアタッチしました。

問題は、「li」要素をクリックしてもイベントが発生しないことです。

"どのように?" - お願いできますか...では、この単純なjsFiddleで自分で確認してください

検討:

  • Ubuntu システムで Firefox 14.0.1 と Chrome 16.0.912.77 をテストしました。
  • 原因を「探している」間に、元のコードの CSS、HTML、および JS から多くのものを取り除きました。
  • フォームラベル要素をクリックすると、イベント ハンドラー関数の動作を確認できます。しかし、 li要素をクリックしてみてください...うまくいきません!
  • float: left「li」要素からスタイルを削除するか、position: relative「フォーム」からスタイルを削除するだけで、問題はなくなります。

したがって、問題を回避または回避する方法を正確に尋ねているわけではなく、「クリック」イベントが発生しない理由を尋ねています。これはバグですか?何からのバグ?ブラウザ?jQuery? CSS? それは私にはまったく意味がありません。説明を見てみたいです!

ありがとう。

4

4 に答える 4

4

li'sはフロートし、フォームには'があるためposition:relative、フォームは' sの上にあり、li[画像]をクリックできます。

ところで:FirebugまたはWebdeveloperツールを使用している場合は、それを検出できます。

于 2012-08-10T11:33:33.293 に答える
1

firebug などで DOM を検査すると、フォームが ul の最初の要素の上に浮かんでいることに気付くでしょう。jsFiddle で CSS コードを空にしてみると、すべてが意図したとおりに機能します。

于 2012-08-10T11:38:11.677 に答える
0

私はあなたのためにフィドルを作成しました。すべての要素で正常に動作するクリックアクションを見てください

于 2012-08-10T12:22:11.330 に答える
0

クリック機能が機能しない理由は、 li要素がフォーム内に配置されていないためです

于 2012-08-10T11:47:23.873 に答える