點擊我已在身後,我的代碼生成一個錨標記調用帶有的Javascript「這」不返回對象
href="javascript:blah('string',this);"
我需要與對象交互的功能,但它似乎並沒有被返回正確。當我提醒它時,它返回「object Window」並調用this.id返回undefined(錨具有一個ID)
有什麼想法嗎?
謝謝
點擊我已在身後,我的代碼生成一個錨標記調用帶有的Javascript「這」不返回對象
href="javascript:blah('string',this);"
我需要與對象交互的功能,但它似乎並沒有被返回正確。當我提醒它時,它返回「object Window」並調用this.id返回undefined(錨具有一個ID)
有什麼想法嗎?
謝謝
而不是使用href作爲您的點擊事件使用內聯onClick處理程序。這會給你適當的「這個」對象。
<a href="javascript:void(0);" onclick="blah('string',this);">
您使用什麼瀏覽器?示例href
您試圖生成什麼或出現在源代碼中?
假設鏈接生成正確,這完全是一個JavaScript問題。
不同的瀏覽器有不同的事件處理程序的實現。考慮使用JQuery來掩蓋這些不一致之處,並給自己一個更容易的工作。
href="javascript:blah('string',this);"
內部功能等等this
指window
對象
做到這一點
<a href="javascript:" id="myLink">
function handle()
{
// this refers to your link
}
document.getElementById('myLink').onclick=handle;
您還可以得到的一切工作,即使JavaScript已禁用。
<a href="#objectToInteractWithOrAnUriWithoutTheHash" onclick="return blah(this);">test</a>
<script type="text/javascript">
function blah(link) {
var elementIdOrUri = link.href;
//do some crazy stuff.
//false will prevent the browser from visiting the link
return false;
}
</script>
由於您使用在這種情況下A HREF,元素(如果它有一個錨),或者如果JavaScript是禁用的URI進行遊覽。否則您的函數將被調用。
謝謝你解決了它:) – Chuck 2011-03-04 18:35:08