2016-12-04 128 views
3

我在我的main.js文件中構建此鏈接。不幸的是,它不會調用功能getNextPage它會導致我的瀏覽器向上滾動。這個鏈接有什麼問題? <a href="#"onclick="getNextPage();">next></a>

<a href="javascript:getNextPage();">也不起作用。

在我的頁面的HTML代碼中輸入內容時,事情會發生相應的變化。然而,我確實失去了我的範圍變量。

任何想法?

+0

在href中使用:'javascript:void(0)',href鏈接首先運行,它將#添加到你的url,所以它滾動到首頁。 javascript:void(0)什麼都不做,所以href將不起作用並且會運行你的函數。 –

+0

嘗試刪除'href'並請顯示一些代碼以供我們幫助,否則我們不會知道您正在討論的變量範圍。 – Ayan

+0

代碼不適合。謝謝我會試試 – user1843495

回答

0

最好的會是<a href="" onclick="getNextPage();">就像你一樣(如果你不想滾動,沒有#) 但它應該工作嘗試在你的getNextPage函數中放置一個警報。

您應該提供更多信息; javascript代碼。 在控制檯中是否有任何錯誤?

4

問題在<a>標籤的主體內有>字符。這是一個應該逃脫的角色(詳見HTML Encoding)。

下HTML應該爲你工作:

function getNextPage(){alert('Hi')};
<a href="#" onclick="getNextPage();">next&gt;</a>

+0

不,字面大於不是偉大的代碼,但它不會導致OP的問題。 –

-1

我的建議是使用下面的代碼

<a href=「」 onclick=「getNextPage();」>next&gt;</a> 

請提供更多的代碼,這樣我可以提供適當的幫助你。

+0

此代碼不適用於仍然存在的「智能報價」。 – Xufox

+0

使用此代碼,然後 –

+0

使用此代碼next>而不是 –

1

您需要停止HTML錨鏈接(href =「#」)的默認行爲。

對於onclick事件聯定義,你必須explicitly pass the click event,從而能夠防止它的默認行爲(以下在href錨鏈接):

<a href="#" onclick="getNextPage(event)">next></a> 

然後,防止它在處理與「的preventDefault」:

<script> 
function getNextPage(e) { 
    e.preventDefault(); 
    console.log("Next page"); 
} 
</script> 
相關問題