1

私はこのhtmlを持っています:

<a href="http://www.google.com"  data-ref="su1c2cess" class="Wifewriting" id="target_site_to_visit">
    <span data-app-id="63" class="btn" id="visit_site" style="right:22px; top:65px; padding:5px;z-index: -99999;">VISIT SITE</span>
</a>

更新 そしてこれは私のjQueryです:

 $(document).ready(function(){
         $('body').on('click','#target_site_to_visit',function(event){
           var appName=$('#target_site_to_visit').attr('class');
           var referrer=$('#target_site_to_visit').attr('data-ref');
          $.post('db/update_site_viewed.php',{ name:appName, ref:referrer }, function(data){



      throw new Error("AppName: "+appName);

      },'html').error(function(data){

      throw new Error("Error: "+data.responseText);
      });
    // document.location.href=$('#target_site_to_visit').attr('href');
return false;
  });

});

リンクのevent.preventDefault();トリガーを停止することには何もしません。なぜですか?

4

2 に答える 2

0

jQuery.onドキュメントから、関数がfalseを返すことを確認します。

イベントハンドラからfalseを返すと、event.stopPropagation()およびevent.preventDefault()が自動的に呼び出されます。

于 2012-07-15T06:25:50.777 に答える
0

コンソールにエラーがなく、有効なマークアップがない限りreturn false、イベントのデフォルトのアクションが防止され、ご存知のようにDOMがバブリングされるのを防ぎます。

$(document).ready(function(){
    $('body').on('click','#target_site_to_visit',function(event){
        var appName=$('#target_site_to_visit').attr('class');
        var referrer=$('#target_site_to_visit').attr('data-ref');
        $.post('db/update_site_viewed.php',{ name:appName, ref:referrer }, function(data){
            throw new Error("AppName: "+appName);
        }, 'html').error(function(data){
            throw new Error("Error: "+data.responseText);
        });
        return false;
    });
});

また、取得したデータを使用するに$.postは、フェッチされたデータを返すコールバック関数の最初のパラメータを使用します。

$.post('db/update_site_viewed.php',{ name:appName, ref:referrer }, function(data){
        console.log(data); //<-- fetched html will be displayed in the console
}, html);

コールバック関数内では.html().append()および同様のメソッドを使用してデータをDOMに追加したり、データを文字列として操作したりdata、jQueryオブジェクト内をラップしてそのサブ要素を取得したりでき$(data)ます。基本的にあなたがそれで望むすべて。

参照

于 2012-07-15T06:51:32.337 に答える