2014-09-03 131 views
-1

我一直在試圖獲得一個元素來跟隨它的鏈接(下載一個文件),然後被重定向到一個新的頁面。出於某種原因,元素下載文件,但onclick函數從不執行。我已經嘗試了幾個不同的實現......這是我到目前爲止已經完成:Onclick不被稱爲

$("#download").onclick = function() {window.location.assign('www.redirect.com')}; 

我也嘗試了所有的這些在他們控制檯日誌也從來沒有得到執行。

function safari_click() { 
    window.location.assign("www.redirect.com"); 
} 

$("#download").onclick = safari_click; 

//finally also this one: 

$("#download").onclick = function() {safari_click()}; 

我不能得到任何這些實際觸發onclick函數。

編輯:另外,爲了清楚#download元素是一個鏈接,它也有href定義。不知道這是否搞亂了它。

+1

通過使用jQuery,你應該使用他們的母語。點擊'(功能())'或'。對( 'click',function(){})'而不是通過'.onclick'屬性分配一個處理程序。 – 2014-09-03 18:49:59

+5

如果您使用的是jQuery,請[**首先閱讀關於事件處理的教程](http://learn.jquery.com/events/event-basics/)。這不是將事件處理程序綁定到jQuery對象的正確方法(DOM元素具有'onclick'屬性,jQuery對象則沒有)。該教程解釋瞭如何做到這一點。 – 2014-09-03 18:50:15

+0

可否請提一下html代碼或(dom)。我認爲你沒有使用#download作爲編號 – 2014-09-03 18:51:19

回答

0

看起來你正在把jQuery的API搞混了。

試試這個:在點擊

function safari_click() { 
    window.location.href = "www.redirect.com"; 
} 

$("#download").click(safari_click); 

更多的信息()這裏:http://api.jquery.com/click/

+0

啊哈!這工作!現在控制檯日誌正在輸出,但重定向仍然沒有被觸發。感謝您的正確方向! – user3666149 2014-09-03 18:56:24

+0

從原來的問題有點偏離主題......但:window.location.href =「www.redirect.com」; – Antiga 2014-09-03 18:57:19

0

當你調用jQuery的$它返回一個jQuery對象,訪問元素的onclick你需要訪問內部jQuery的第一要素目的。

嘗試:

$("#download")[0].onclick = function() {window.location.assign('www.redirect.com')};

你可以使用:

$("#download).click(function() { window.location.assign('www.redirect.com'); });