[英]How to emulate click on anchor tag with javascript?
在我的網站上,我有一個div
容器,其中包含<input>
和<a onclick="DoSomeStuff();" href="#" target="_blank">
<a onclick="DoSomeStuff();" href="#" target="_blank">
元素,用作按鈕。 現在, DoSomeStuff();
根據input
元素的值修改href
屬性。
用戶在input
元素上按Enter鍵后,我需要模擬單擊此錨標記。 我知道如何檢測此輸入,但我不知道如何單擊此錨點。 jQuery的.click()
在這里不起作用,它只觸發錨標記的onclick()
,但實際上並沒有點擊錨點。
編輯 :以下是我想要做的一個例子: http : //jsfiddle.net/JZYWZ/ 。 它會觸發錨標記的onclick
事件,但不會跟隨新標簽中的鏈接。
瀏覽器對通過javascript打開新標簽/窗口中的鏈接非常嚴格。
如果他們允許您點擊javascript並在用戶按下enter
時打開一個新標簽(因為您知道這是合法的原因),垃圾郵件發送者可能濫用該功能,以便在用戶執行任何操作時使用javascript點擊廣告和垃圾鏈接。 遺憾的是,瀏覽器無法判斷您的鏈接頁面是否合法,而不是垃圾郵件或貨幣化的clickbait。
幾乎是使用javascript在新標簽頁面中打開網址的唯一選項是你已經嘗試過的window.open
:瀏覽器將始終在彈出窗口阻止以及是否在標簽頁或窗口中打開時查看用戶的設置 - 默認情況下設置是嚴格的,特別是在Firefox和Internet Explorer中(在Chrome和Safari中較少)。
您可能不會對瀏覽器的反垃圾郵件防御措施進行打擊的另一種方法是在模式覆蓋中打開內容(如果您需要多個頁面,則基於iframe)。 這是一個示例庫 。
從UI的角度來看,它將是類似的 - 以一種形式向用戶提供相關內容,他們可以將其關閉並在完成后返回主頁面。
模態疊加被廣泛使用並且可能熟悉用戶。 例如,它們現在非常適合共享頁面,登錄和其他簡單交互或側面內容。 示例 :
編輯
經過一些額外的測試....
$('input[type="text"]').on('keyup', function(event){
if(event.keyCode === 13){
DoSomeStuff();
window.open($('a').attr('href'));
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.