嗨我有两个带有类的单击事件,我想要定位被点击的唯一元素,比方说,我想要定位两个具有不会影响另一个的相同类的div。
这是我的代码。谢谢。
$elem.find('.arrow-left').on('click', function (e){
scrollLeft();
});
$elem.find('.arrow-right').on('click', function(e){
scrollRight()
});
基本上我有两个左箭头点击事件。我只想针对被点击的元素
答案 0 :(得分:1)
在事件处理程序中,this
将是对相关元素的引用。它指的是DOM元素,所以如果你想在它上面使用jQuery方法,首先用$(this)
包装它。
当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>
希望这会对你有所帮助。