我想在窗口或文檔級別監聽<p>
元素上的事件,因爲有太多這樣的元素爲每個元素附加onclick事件處理程序。在窗口級別監聽某些元素上的事件 - Javascript,no library
這是我的本錢:
window.onload=function()
{
window.addEventListener('click',onClick,false);
}
function onClick(event)
{
alert(event.target.nodeName.toString());
}
我需要在上面的代碼的意見,豈不是好? 而且,如何檢查點擊的元素是否是<p>
元素,而不是檢查nodeName
? 例如,如果<p>
元素包含<b>
元素並且被單擊,則nodeType將是b
而不是p
。
謝謝。
是否有不使用特定的原因任何圖書館?像jQuery或YUI委託這樣的框架可以讓你使用這個簡單。只是好奇。 – momo
嘿。將運行的環境不允許加載外部腳本。唯一的辦法是將jQuery代碼直接粘貼到HTML文件中,但這看起來像是一個矯枉過正的事情。 – Francisc
@Francisc:不要忘記在'Event'對象上沒有'target'屬性的較老的IE(至少IE 7)。在事件中使用'var target ='target'之類的東西? event.target:event.srcElement;'[srcElement](http://msdn.microsoft.com/en-us/library/ms534638%28v=vs.85%29.aspx)。他們也缺少'addEventListener'方法 - 使用[attachEvent](http://msdn.microsoft.com/en-us/library/ms536343%28v=vs.85%29.aspx)。 – Saxoier