2011-07-10 32 views
2

私は以前これを見てきましたが、私はどこにいるのか正確には分かりません。<a>機能を削除してください

href属性を<a class="classname">という名前で使用しています。これは、jQueryプラグインであるため、href属性を使用して利用するIDを定義しているためです。

もちろん、クリックすると、私は実際には望んでいないidの上にスクロールします(私は同じ位置にとどまるようにしたい)。

href属性を同じに保つことはできますが、「リンク」機能を無効にする方法はありますか<a class="classname">

+0

リンクにしたくない場合は、どうしてリンクを使用していますか? –

答えて

2
$(document).delegate('.classname', 'click', function (e) { 
    e.preventDefault(); 
}); 
+0

また、イベントをバブルアップしたくない場合はfalseを返すことができます。関数魔女の中からは、e.preventDefault()とe.stopPropagation()を行うのと同じです。 詳細:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/ – NicoSantangelo

+0

@Nicosunshine:これは確かにほとんどのケースに当てはまりますが、ここで私はドキュメントルートでイベントを聞いているので、本当にどこにもありませんその時点でそれが泡立ちます。 –

4

は、次の属性を追加:ミスターサミュエルさんとミスターRubyの答えに拡大

onclick="return false;" 
+0

または、プラグインで使用する属性を変更しようとする可能性があります。 – JacobTheDev

0

を、あなたはjQueryを使って、すべての要素にこれを適用することができます。

$("a.classname").attr("href", "javascript:void 0").attr("onclick", "return false;"); 
0

jqueryのためにpreventDefault()を使用する必要があるように聞こえます。

<a href="#thisWontWork" class="classname">link</a> 

<script type="text/javascript"> 
$('.classname').click(function(e) { 
e.preventDefault(); 
//do other stuff 
}); 
</script> 

かさえ、このような何か...

<a href="#thisWontWork" onclick="something(); return false;">link</a> 
0
return false; 

はでpreventDefaultとイベントの両方があまりにも

<a id="clickme" href="#">click me href </a>  
    $(document).ready(function() { 
     $("#clickme").click(function() { 
      alert("clicked!"); 
      return false; 
     }); 
    }); 
0
<a href="someLink" class="classname">link</a> 
<script type="text/javascript"> 
$(document).ready(function(){ 
     $('.classname').each(function(){ 
      $(this).click(function(){ 
       //do whatever you want 
       alert($(this).attr('href')); 
       return false; 
      }); 
     }); 
}); 
</script> 

希望これは、複数のリンクのために便利ですがbubling行います同じクラス名で

関連する問題