2015-10-01 32 views
2

我正在做一個下拉菜單來放置鏈接。鏈接下劃線正確,所以我知道一個標籤正在工作,但是當我點擊它們時,沒有任何反應,除非我正確點擊並在新標籤頁中打開。有沒有人有建議? 謝謝!鏈接不開放,除非我右鍵單擊新標籤

HTML

<div id="dropDown" onmouseover="mouseOver()">\/</div> 

的Javascript

function mouseOver() 
{ 
    document.getElementById("dropDown").style.height = "150px"; 
    document.getElementById("dropDown").innerHTML = "<a href="https://www.google.ca/">foo</a></br>"; 
    //Other links in list. 
} 
+0

你爲什麼寫'
的''而不是'
? –

回答

1

發生這種情況是因爲您仍然有onmouseover事件。

試試這個:

<div id="dropDown" onmouseover="mouseOver()">\/</div> 
<script> 
function mouseOver() 
{ 
document.getElementById('dropDown').setAttribute('onmouseover',''); 
document.getElementById("dropDown").style.height = "150px"; 
document.getElementById("dropDown").innerHTML = '<a href="https://www.google.ca/">foo</a></br>'; 
//Other links in list. 
} 
</script> 
+0

爲什麼'onmouseover'事件處理程序使鏈接不可點擊? – showdev

+0

這是因爲當你有'onmouseover'事件時click事件丟失,因爲innerHTML被改變了。 – user00239123

+0

我想了解更多關於爲什麼在mouseover上替換HTML會破壞本機點擊事件的更多信息。 – showdev

0

我覺得你的問題在於這行代碼之內;

document.getElementById("dropDown").innerHTML = "<a href="https://www.google.ca/">foo</a></br>";> 

嘗試改變;

document.getElementById("dropDown").innerHTML = "<a href='https://www.google.ca/'>foo</a></br>";> 
+0

修復報價似乎不能解決問題。 [見這個演示](http://jsfiddle.net/7udxeby3/)。 – showdev

相關問題