2012-01-28 20 views
0

jQuery +ワンクリックイベント+ <a href... class="opener">を使用しています(下のコードを参照してください)、小さなバグがあります:ポップアップフォームは一度だけロードされますが、 url。私はフォームが1ページのロードで1回だけロードされるべきであることを意味しますが、<a href...押すごとにロードされません。どのようにそれを修正するには? :(jQueryローダー、イベント "one" + a hrefクラス

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css" type="text/css"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
     var $dialog = $('<div></div>') 
     .html('Hello, World') 
     .dialog({ 
      autoOpen: false, 
      title: 'Hey!' 
     }); 
    $('a.opener').one('click', function() { 
     $dialog.dialog('open'); 
     return false; 
    }); 
}); 
</script> 

使用法:<a rel="nofollow" href="http://url.example" class="opener">Strange Text</a><a rel="nofollow" href="http://url2.example" class="opener">Strange Text #2</a>など

答えて

1

あなたはそれをページ毎に一度起動するようにしたい場合は、私は直後にそれをバインド解除したい:!

$('a.opener').click(function(e) { 
    e.preventDefault(); 
    $("a.opener").unbind(e); 
    $dialog.dialog('open'); 
}); 
+0

わーいありがとう、男それは大きく働いています:D – user1175759

+0

もちろん、ちょうど3分を与えてください、新しいメンバーの回答を受け入れるという奇妙なシステムがあります: - \ – user1175759