正在点击的目标元素

时间:2016-08-19 09:44:27

标签: jquery

嗨我有两个带有类的单击事件,我想要定位被点击的唯一元素,比方说,我想要定位两个具有不会影响另一个的相同类的div。

这是我的代码。谢谢。

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

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

基本上我有两个左箭头点击事件。我只想针对被点击的元素

2 个答案:

答案 0 :(得分:1)

在事件处理程序中,this将是对相关元素的引用。它指的是DOM元素,所以如果你想在它上面使用jQuery方法,首先用$(this)包装它。

来自the documentation

  

当jQuery调用处理程序时,this关键字是对传递事件的元素的引用;对于直接绑定事件,这是附加事件的元素,对于委托事件,这是一个元素匹配选择器。 (请注意,如果事件来自后代元素,则这可能不等于event.target。)要从元素创建jQuery对象以便可以与jQuery方法一起使用,请使用$( this )

答案 1 :(得分:0)

我认为这是你所期待的。试试这个

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

	
</body>

<script type="text/javascript">


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

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

	}
	else
	{

	}
});



</script>
</html>
注意:首先检查哪个按钮点击具有相同的类名,然后执行必要的

希望这会对你有所帮助。