私はライトボックスのJavaScriptにマイナーなバグを修正しようとしていますが、できるだけ邪魔にならないように編集しています。HTMLアンカーでfalseが返ってもfalseを返さない
問題が主な製品の画像を使用することです。 2つのサムネイルのいずれかをクリックすると、イメージがライトボックス内に期待どおりに読み込まれます。大きな画像をクリックすると、ギャラリー画像をクリックしたイベントが発生し、ライトボックスがポップアップするのを見ることができますが、<タグのデフォルトイベントは>タグがオフになり、画像は別のウィンドウに読み込まれます。このはになりません。リンクはfalseを返します。
<a id="gallery-link" class="main" href="#" onclick="click($('gallery-image-0')); return false;" title="Gold Label Mattress">
<img id="gallery-image" src="/content/products/280x175/silentnight-ariel-miracoil-gold-label-limited-edition.jpg" alt="Gold Label Mattress">
</a>
これ以外にも、標準的なプロトタイプ/ scriptaculous/lightbox2設定が用意されています。
falseを返す理由は何もfalseを返さないのですか?信じられないほどイライラします。
編集:IE6と8は、言われたように偽を返します。現行のFF、Chrome、およびIE9はサポートしていません。
残念ながら、このようにすると、新しいウィンドウでイメージを読み込むのと同じ結果が得られました。デフォルトのイベントはまだ防止されません。つまり、firebugのコンソールログを追加するようにコードを変更し、イメージのONCEをクリックするとイベントリスナーが2回発生することが判明しました。これはfalseを返す理由です。残念ながら、event.stop()はデフォルトイベントを2回停止しません。 –