jQuery-如何在使用'单击'事件
jQuery - How to get attribute of an element when using the 'click' event
我正在使用jQuery来点击"a"元素。我有一个链接列表,每个链接都有一个类,我通过他来捕捉点击。
我想知道哪些链接被点击了(我为每个链接都有一个属性"setid"(,还想知道鼠标被点击的位置。
如何才能做到这一点?
代码示例:
<a href="#" class="newItem" setid="28">click me</a>
$('.newItem').click(function (e) {
alert(e.attr('setid'));
});
编辑:好的,所以为了得到位置,我会使用e.pageX
要使用jQuery方法,必须用对jQuery的调用包装this。
$('.newItem').click(function () {
alert($(this).attr('setid'));
});
参考下面给出的代码:
document.getElementById("element_id").addEventListener("click",function(e)
{
console.log(e.srcElement.getAttribute("data-name"));
},false);
就像Skylar在对你的问题的评论中所说的那样,你可以在你的新属性前面使用"data-"(这是HTML5有效的(。
<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/
您的路径是正确的。
$(function(){
$('.newItem').click(function () {
alert( $(this).attr('setid') );
})
});
您的代码几乎可以获得属性。唯一缺少的是在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对象的文档。
相关文章:
- 将单击事件添加到数据表
- 将单击事件添加到附加的项目中
- 在IE8中不起作用的元素上触发单击事件
- 链接上的IE10 jquery句柄单击事件不起作用
- 如何使用纯 JavaScript 在所有浏览器中区分左/右/中键单击事件
- 如何在master中调用细节网格作为单击事件
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 如何隐藏按钮单击事件上的占位符
- 复选框,然后单击事件处理
- 如何使用for循环添加所有按钮'单击事件
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- 覆盖单击事件不起作用
- 单击事件打开两个弹出菜单
- 单击事件不起作用
- 从其他元素上的单击事件访问image src属性
- 单击事件中的ajax请求后重定向
- 如何缩放地图框传单中的标记单击事件
- 在没有焦点的情况下捕获画布上的第一次单击事件
- 通过单击事件识别画布上的对象
- 如何将单击事件添加到JQuery中动态添加的元素中