0

私は、cluetips プラグインを使用して、リンクにツールチップを表示しています。ツール ヒント内には、テキストとリンクがあります。リンク (クラス「show-panel」を使用) をクリックすると、ライトボックス タイプの div が上部に開きます。ただし、クリック イベントは、JQuery UI ウィジェットを利用するツールチップ内のリンクにバインドされていないようです。ライトボックス スクリプトは、ツールチップ ボックスの外側のリンクで機能するため、機能することはわかっています。JQuery UI が処理を行った後の HTML を次に示します。

<div id="cluetip" class="cluetip ui-widget ui-widget-content ui-cluetip clue-top-sequoia cluetip-sequoia" style="position: absolute; width: 275px; left: 126.5px; z-index: 97; top: 124px; box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5); display: block;">
<div class="cluetip-outer" style="position: relative; z-index: 97; overflow: visible; height: auto;">
<h3 class="cluetip-title ui-widget-header ui-cluetip-header">Sed ut perspiciatis unde omnis</h3>
<div class="cluetip-inner ui-widget-content ui-cluetip-content">
<div class="cluetip-close">
iste natus error
<a class="show-panel" rel="detailpage" href="http://www.my.link/">sit voluptatem</a>
accusantium doloremque laudantium, sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
</div>
</div>
<div class="cluetip-extra"></div>
<div class="cluetip-arrows ui-state-default" style="z-index: 98; display: block;"></div>
</div>

JQuery は次のとおりです。

$("a.show-panel").click(function(e){
//alert("works");
$("#lightbox, #lightbox-panel").fadeIn(300);
e.preventDefault();
})  
$("a#close-panel").click(function(e){  
$("#lightbox, #lightbox-panel").fadeOut(300);
e.preventDefault();
}) 

ある種のスコープの問題だと思いますが、リンクにアクセスする方法がわかりません。

どんな提案でも大歓迎です!

4

3 に答える 3

0

上記のshadylaneからの答えは良いです。場合によっては、これらのシナリオで jQuery でターゲットにしているセレクターを調査することも同様に重要だと思います。curlTip のようなものを使用する場合、DOM への追加が非常に多いため、実際に「存在する」ものではなく、プラグインから生成されたセレクターである可能性があることに注意する必要があります。ああ、そして手がかりヒントは岩です!

于 2013-05-20T17:36:31.483 に答える
0
http://api.jquery.com/bind/

$("a#close-panel").bind("click", function(){

});

編集:申し訳ありませんが、前に説明を残しませんでした。ページの読み込み時に dom に表示されないものにバインドを適用することはできません。ツールチップ ボックスなどの要素をページにロードまたは作成する場合は、jQuery bind メソッドを使用する必要があります。

于 2011-11-28T14:02:04.983 に答える