鍍金池/ 問答/數(shù)據(jù)庫  HTML/ 原生js如何模擬按下回車。

原生js如何模擬按下回車。

比如點(diǎn)擊一個(gè)按鈕時(shí),模擬按下回車,也就是說觸發(fā)keydown并且keycode=13.
這個(gè)怎么實(shí)現(xiàn)?

回答
編輯回答
短嘆

寫完發(fā)現(xiàn)寫反了。。。我寫的回車觸發(fā)點(diǎn)擊,你自己改一改就ok
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
    <button id="btn" onclick="alert('點(diǎn)擊');">回車觸發(fā)點(diǎn)擊</button>
</body>
<script type="text/javascript">

    document.addEventListener("keydown", function() {
        if(event.keyCode == 13) {
            var e=document.createEvent("MouseEvents");
            e.initMouseEvent("click", true, true, document.defaultView, 0, 0, 0, 0, 0,false, false, false, false, 0, null); 
            var btn = document.getElementById("btn"); 
            btn.dispatchEvent(e);
        }
    })
    
</script>

</html>

2018年2月17日 10:35
編輯回答
抱緊我

最好不要做這種模擬,部分瀏覽器會(huì)屏蔽此操作,比如safari,還是使用主動(dòng)觸發(fā)js函數(shù)的方法吧

2017年4月10日 20:59
編輯回答
青檸

答案就在你的問題里面,你要出發(fā)什么事件,在enter監(jiān)聽事件里面調(diào)用該事件即可。比如登錄,你有個(gè)登錄事件,你只要在enter監(jiān)聽事件里面調(diào)用登錄事件就可以了,至于范圍,這個(gè)可以自己自定義

2018年6月2日 03:51
編輯回答
淺淺
event = document.createEvent("KeyboardEvent");
//初始化事件對(duì)象
event.initKeyboardEvent("keydown", true, true, document.defaultView, "a",0, "Shift", 0);}
//觸發(fā)事件
textbox.dispatchEvent(event);
2017年12月7日 06:48