为了识别用户单击的元素,我尝试使用事件对象target
.
$(document).click(function (e) {
var str = e.target.toString();
console.log(str);
if (str.indexOf("some class or id") >= 0) {
//do something
};
});
However .toString()
似乎没有产生有用的影响e.target
。如果我做:
console.log(e.target);
例如,我得到一个包含 DOM 元素开头的字符串<div class="myclass">
。例如,为了检查子字符串是否存在,需要这样做myclass
" or myid
, using indexOf
.
我在这里的目的只是通过查看来识别用户正在单击的 divevent.target
for "myclass
".
Yet indexOf
在这里不起作用,因为它将返回“str 不是函数”。
但是,如果我尝试将其变成字符串,如下所示:
console.log(e.target.toString());
I get [object HTMLDivElement]
。没有我需要的 HTML 字符串的痕迹。
我怎样才能得到输出event.target
变成我可以操纵的字符串?
p.s 请注意这种情况与以下情况非常相似this one https://stackoverflow.com/questions/20221028/get-event-target-id-as-string, 关于event.target.id
:但建议的解决方案对我不起作用。