2012-01-05 15 views
0

jQueryの.wrap関数を使用してIE7で問題が発生しました。私は要素のリストを持っています。クリックで私はこのような何かを:jQuery、IE7でのラップとクリック

function wlt(father) { 
    hlms = $(father).find('.moreSpan a').attr('href'); 
    tlms = $(father).find('.moreSpan a').attr('title'); 

    // Add/remove link on h2 
    $(father).find('h2 > .bold').wrap('<a></a>'); 
    $('.stripClose h2 > a > .bold').unwrap(); 
    $(father).find('h2 > .bold').wrap('<a href="' + hlms + '" title="' + tlms + '"class="searchtitle_i"></a>'); 

    // Add/remove link on Showcase H2 
    $(father).find('h2 > .linkAllTitle ').wrap('<a></a>'); 
    $('.stripClose h2 > a > .linkAllTitle').unwrap(); 
    $(father).find('h2 > .linkAllTitle ').wrap('<a href="' + hlms + '" title="' + tlms + '"class="searchtitle_i"></a>'); 
} 

基本的には、各Webブラウザでこのコードは動作します:それはdiv要素の内容を表示し、li要素へのリンクがクリックされた追加されます。

IE7では、li要素をクリックすると、divの内容が表示され、jQueryによって追加されたリンクに移動します。あなたは何が起こっているのか考えていますか?

答えて

0

クリックイベントが伝播し続けているか、マウスボタンアップイベントによってリンクがトリガーされているようです。 Wlt関数をそう呼び出すことは可能ですか?

$(father).click(function(event) { 
    event.stopPropagation(); 
    function wlt(father); 
    } 
+0

'のstopPropagation()は' IEでは動作しません... – Masiar

+0

jQueryのAPIをするevent.stopPropagation()関数のない文書の制限がありません。私はまた、この制限に関する情報をどこかに見つけることもできませんでした。 –