我正在使用jQuery来点击'a'元素。我有一个列表,其中每个链接都有一个类,我正在捕捉点击。
我想知道哪些链接已被点击(我为每个链接都有一个属性'setid'),并且还获得了点击鼠标的位置。
如何实现这一目标?
代码示例:
<a href="#" class="newItem" setid="28">click me</a>
$('.newItem').click(function (e) {
alert(e.attr('setid'));
});
编辑: 好的,所以要获得我将使用e.pageX的位置
答案 0 :(得分:37)
要使用jQuery方法,您必须通过调用jQuery来包装 this 。
$('.newItem').click(function () {
alert($(this).attr('setid'));
});
答案 1 :(得分:2)
参考下面给出的代码:
document.getElementById("element_id").addEventListener("click",function(e)
{
console.log(e.srcElement.getAttribute("data-name"));
},false);
答案 2 :(得分:1)
就像Skylar在您的问题评论中所说,您可以在新属性(HTML5有效)前使用“data-”。
<a href="#" class="newItem" data-setid="28">click me</a>
然后在jQuery(v1.4.3 +)中你可以得到它:
var setid = $(this).data("foo");
它比其他人提到的attr()更好一点。有关更多示例,请参阅此示例 - http://www.broken-links.com/2010/11/18/data-attributes-in-html-and-jquery/
答案 3 :(得分:0)
你正确的路径。
$(function(){
$('.newItem').click(function () {
alert( $(this).attr('setid') );
})
});
答案 4 :(得分:0)
您的代码几乎是正确的获取属性。唯一缺少的是在jQuery包装器中包装this
(一个DOM元素),因此您可以使用jQuery函数。 $(this).attr('setid')
应该有用。
要获取页面坐标,请使用事件对象的pageX
和pageY
属性。所以:
$('.newItem').click(function (e) { // e is the event object
alert($(this).attr('setid'));
alert(e.pageX);
alert(e.pageY);
});
请参阅Event object上的文档。