我想在用户点击网址时获取href属性。
我试过了:
var e = clickedElement || window.event;
var t = e.target || e.srcElement;
alert(t.href);
这在Chrome和Firefox中运行良好,但IE存在问题;它给出了一个错误null。
从事件对象获取href的可能解决方案是什么?
答案 0 :(得分:0)
取决于clickedElement
是什么,假设它是事件对象参数占位符或this
参数;
function event_obj(event) {
if (!event) var event = window.event;
var element = event.target || event.srcElement;
alert(element.href);
return false;
}
function element_obj(element) {
alert(element.href)
return false;
}
.
.
<a href=".." onclick="return event_obj();">foo</a>
<a href=".." onclick="return element_obj(this);">bar</a>
答案 1 :(得分:0)
使用此功能获取事件目标
function getEventTarget(event) {
var targetElement = null;
try {
if (typeof event.target != "undefined") {
targetElement = event.target;
}
else {
targetElement = event.srcElement;
}
} catch (ex) { alert("getEventTarget failed: " + ex); }
return targetElement;
};
然后在触发事件时调用它
function evtrigger(ev) {
alert(getEventTarget(ev).href);
}
请注意,getEventTarget()函数适用于所有事件,因此返回的DOM对象可以按照您喜欢的方式进行操作,而不仅仅是获取href。