Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery—如何在使用';单击';事件_Javascript_Jquery - Fatal编程技术网

Javascript jQuery—如何在使用';单击';事件

Javascript jQuery—如何在使用';单击';事件,javascript,jquery,Javascript,Jquery,我使用jQuery来点击一个“a”元素。我有一个链接列表,每个链接都有一个类,由他来捕获点击 我想知道哪些链接被点击了(每个链接都有一个属性'setid'),并且还想知道鼠标被点击的位置 如何做到这一点 代码示例: <a href="#" class="newItem" setid="28">click me</a> $('.newItem').click(function (e) { alert(e.attr('setid')); }); $('.newI

我使用jQuery来点击一个“a”元素。我有一个链接列表,每个链接都有一个类,由他来捕获点击

我想知道哪些链接被点击了(每个链接都有一个属性'setid'),并且还想知道鼠标被点击的位置

如何做到这一点

代码示例:

<a href="#" class="newItem" setid="28">click me</a>

$('.newItem').click(function (e) {
    alert(e.attr('setid'));
});

$('.newItem')。单击(函数(e){
警报(e.attr('setid'));
});
编辑:
好的,为了得到这个职位,我将使用e.pageX来使用jQuery方法,您必须通过调用jQuery来包装这个

$('.newItem').click(function () {
    alert($(this).attr('setid'));
});

你在正确的道路上

$(function(){

    $('.newItem').click(function () {
        alert( $(this).attr('setid') );
    })
}); 

您的代码在获取属性方面几乎是正确的。唯一缺少的是在jQuery包装器中包装
这个
(一个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);
});

请参阅上的文档。

就像Skylar在对您的问题的评论中所说的那样,您可以在新属性(HTML5有效)前面使用“数据-”


它甚至比其他人提到的attr()好一点。有关更多示例,请参见此-

参考下面给出的代码:

document.getElementById("element_id").addEventListener("click",function(e)
{
 console.log(e.srcElement.getAttribute("data-name"));
},false);

如果您要向HTML中添加任意属性,比如“SETID”,您可能需要考虑添加“数据”标志,因为这将通过验证。实际上setid=“28”是无效的,但是data setid=“28”是.Michael-感谢您的代码:)您好,当使用IE9作为锚标记时,我对.click(函数(e)){}有一些问题。知道如何在不使用JQuery的情况下获取属性吗?单击?示例:当您使用普通JS和JQuery$(此)作为新问题提问时,函数doClickFunction(){$(this).attr('class');}不起作用。非常好。非常感谢。我在找一个普通的方法来做这件事。
var setid = $(this).data("foo");
document.getElementById("element_id").addEventListener("click",function(e)
{
 console.log(e.srcElement.getAttribute("data-name"));
},false);