URLをクリックしたときにhref属性を取得したい。IE:イベントからオブジェクトを取得する
私が試してみた:
var e = clickedElement || window.event;
var t = e.target || e.srcElement;
alert(t.href);
これはChromeとFirefoxで正常に動作しているが、IEに問題があります。エラーnullを返します。
イベントオブジェクトからhrefを取得する方法はありますか?
URLをクリックしたときにhref属性を取得したい。IE:イベントからオブジェクトを取得する
私が試してみた:
var e = clickedElement || window.event;
var t = e.target || e.srcElement;
alert(t.href);
これはChromeとFirefoxで正常に動作しているが、IEに問題があります。エラーnullを返します。
イベントオブジェクトからhrefを取得する方法はありますか?
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>
使用この機能を使用すると、getEventTarget()関数は、DOMので、すべてのイベントのために働くイベント
function evtrigger(ev) {
alert(getEventTarget(ev).href);
}
注意をトリガしたときに、それを呼び出すイベントターゲットに
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;
};
を取得します返されるオブジェクトは、hrefを取得するだけでなく、好きな方法で操作できます。
このコードを含む関数を表示します。 –