2016-08-19 6 views
0

こんにちは私はクラス上に2つのクリックイベントを持っています。クリックされている唯一の要素をターゲットにしたい、たとえば、同じクラスで2つのdivをターゲットにしたい他のものに影響を与える。クリックされているターゲット要素

ここに私のコードです。ありがとうございました。

$elem.find('.arrow-left').on('click', function (e){ 
     scrollLeft(); 
    }); 

    $elem.find('.arrow-right').on('click', function(e){ 
     scrollRight()   
    }); 

基本的には、クリックイベントを伴う2つの矢印左クラスがあります。クリックした要素をターゲットにしたいだけです

答えて

0

私はこれがあなたが期待していると思います。この

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title></title> 
 
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
\t 
 
<input type="button" value="< LEFT" ="" class="mybutton" id="left"> 
 
<input type="button" value="RIGHT >" ="" class="mybutton" id="right"> 
 

 
\t 
 
</body> 
 

 
<script type="text/javascript"> 
 

 

 
$(".mybutton").click(function(){ 
 
\t var theclickedbuttonId = $(this).attr('id'); 
 
\t alert("you clicked the :" +theclickedbuttonId +" button"); 
 

 
\t //according to the the theclickedbuttonId value, you can do your implementation. as and example 
 
\t if(theclickedbuttonId == "left") 
 
\t { 
 

 
\t } 
 
\t else 
 
\t { 
 

 
\t } 
 
}); 
 

 

 

 
</script> 
 
</html>
をメモしてみてください:最初のそれは同じクラス名をクリックしたボタンをチェックし、これはあなたに役立つ入用

希望を行います。

1

イベントハンドラ内でthisは問題の要素への参照になります。 DOM要素を参照するので、jQueryメソッドを使用する場合は、最初に$(this)とラップしてください。 the documentationから

jQueryのハンドラを呼び出すと、thisキーワードイベントが配信されている要素への参照です。直接バインドされたイベントの場合は、これがイベントがアタッチされた要素であり、委任されたイベントの場合は、これは要素マッチングセレクタです。 jQueryメソッドで使用できるように要素からjQueryオブジェクトを作成するには、$(this)を使用します(このイベントが子孫要素からバブリングされた場合、これはevent.targetと等しくないことに注意してください)。

関連する問題