2012-11-22 41 views
0

我有一段簡單的代碼(包含在CMS中,不能被編輯),並且如果點擊了它,需要在頁眉中用Javascript讀取它。如果鏈接已被點擊,Javascript代碼將被讀取

下面是代碼

<div id="example" class="page-element-outer" style="text-align: left"> 
    <div class="page-element-inner" > 
     <input type="image" name="Button1" id="Button" src="/getresource.axd?AssetID=16813" alt="Submit" style="text-align:left;" /> 
    </div> 
</div> 

你能幫助?

+0

我不明白這個問題! ,你可以添加更多的細節plz –

+1

你是什麼意思「讀取鏈接是否被點擊」?你的意思是你想要一段JS代碼在用戶點擊鏈接時運行,也就是說,響應點擊? – nnnnnn

回答

1

您可以通過ID選擇元素,並使用addEventListener方法附加單擊事件偵聽器。

document.getElementById("Button").addEventListener("click", callback, true); 

function callback() { 
    // Do some stuff in here when clicked 
    alert("clicked"); 

    // Return false to prevent the browser default 
    // click-behaviour, if that is desired 
    return false; 
} 

對於舊版瀏覽器

舊版本的IE不支持addEventListener,所以對於那些你可能需要做這樣的事情:

var el = document.getElementById("Button"); 
if (el.addEventListener) { 
    el.addEventListener('click', callback, false); 
} else if (el.attachEvent) { 
    el.attachEvent('onclick', callback); 
} 

等待DOM準備就緒

如果您計劃運行此i在頁面的頭部,您還需要將其包裝爲DOM就緒事件偵聽器,否則會發生click事件未附加到元素的更改,因爲該元素不存在於DOM中當你的腳本運行。

+0

感謝Christofer,但你能給我一個關於DOM-ready事件監聽器的示例。對不起,但JavaScript不是我最強的技能。 – jelly46

+0

@ jelly46您可以將JavaScript添加到身體元素的底部,而不是放在頭部。在這種情況下,您不需要DOM就緒回調。問題是如果你想跨瀏覽器支持,一個DOM就緒回調是相當廣泛的。看看[這個SO問題](http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery)。 –

+0

說實話,我不知道。我已經明確告訴把JS放在標題 – jelly46