0

このコードでボタンのみを実行するにはどうすればよいですか?

​<span id="spanClicker">

<span id="subClicker">
            [Click Me]        
</span>
​&lt;/span>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

このフィドルのように:http://jsfiddle.net/rpCVy/

4

3 に答える 3

3

http://jsfiddle.net/malet/rpCVy/3/

e.stopPropagation()両方の要素でクリックイベントが発生しないようにするために使用できます。

また、この.live関数は廃止されたため、代わりにjQuery1.7.onを使用する必要があります。

于 2012-04-20T16:41:24.330 に答える
2

これがあなたが探しているものです:

$( '#subClicker' ).on( 'click', function (e) {
    alert( 'subClicker' )

    // Now here is the magic you want:
    e.stopPropagation( )
} )

ご想像のとおりe.stopPropagation()、イベントがその親要素に伝播するのを防ぐことができます。

于 2012-04-20T16:35:33.383 に答える
2

これはそれをするべきです。

http://jsfiddle.net/rpCVy/2/

新しいJavaScript

$(function()
{
   $("#spanClicker").live("click",function()
   {
        alert('Span Clicked');                               
   });                           

    $("#subClicker").live("click",function(e)
      {
            alert('Button Clicked');
            e.stopPropagation();          
      });
});​

に関連付けられた無名関数.clickは、最初の引数のイベントを受け取ることができます。イベントオブジェクトのメソッドを呼び出してstopPropagation()、クリックイベントがイベントのターゲット要素のコンテナにバブリングするのを防ぎます。

于 2012-04-20T16:45:59.117 に答える