使用JS热键提交表单?

时间:2012-07-24 07:53:08

标签: javascript html css forms

这是我目前的代码:

<select tabindex="2" id="resolvedformsel" name="resolved">
     <option selected="selected" value="yes">resolved</option>
     <option value="no">not resolved</option>
     <option value="mu">not a support question</option>
</select>
<input type="submit" value="Change" id="resolvedformsub" name="submit">

我想使用组合键(如Ctrl + Alt + 1)来选择“已解决”并立即执行“提交”。我正在为支持论坛进行此修改,并且可以方便地使用热键来标记已解决的线程。

我不包含jQuery!它必须是纯JS解决方案。有什么想法吗?

换句话说:什么是JS相当于jQuery的keypress / keydown?

2 个答案:

答案 0 :(得分:2)

如果您有表格会更好,但您仍然可以使用:

window.addEventListener('keypress', function (event) {
    if (event.which == 13 && event.ctrlKey) { // Ctrl + Enter
        document.getElementById('resolvedformsel').options[0].selectected = true;
        document.getElementById('resolvedformsub').click();
    }
})

答案 1 :(得分:0)

组合键并不容易,有些键是保留的。所以它可能不起作用。我会这样尝试:检查jQuery源如何捕获事件对象的metaKey属性。看看一些使用组合键处理事件的插件。希望这会给你一些“灵感”。