当我按向下键时,我想触发 Tab键。
所以当我按下向下箭头键时 如果使用Tab键,它应该具有相同的效果。
有没有人知道我的问题jquery或javascript代码? :)
答案 0 :(得分:3)
不,出于好的原因,您无法根据按键触发不同的按键。否则,您可以欺骗浏览器自动填写密码或其他敏感信息,甚至使密码管理器进行全局自动填充。
也就是说,如果您想要做的就是让下键从一个表单字段跳转到下一个表单字段,就像Tab键一样,这很容易。只是拦截有问题的按键并检查它是否是向下键(charCode 40)。如果是,请执行您想要用来处理事件的任何代码。
答案 1 :(得分:2)
嗨,这可能会解决您的问题
箭头键仅由onkeydown触发,而不是onkeypress Down的键码是40
class MessagesController < ApplicationController
before_action :authenticate_user!
def new
@chosen_recipient = User.find_by(id: params[:to].to_i) if params[:to]
end
def create
recipients = User.where(id: params['recipients'])
conversation = current_user.send_message(recipients, params[:message][:body], params[:message][:subject]).conversation
flash[:success] = "Message has been sent!"
redirect_to conversation_path(conversation)
end
end
或者使用jQuery,您可以执行此操作当您按下向下箭头键(keyCode 40)时,下一个输入将获得焦点。
function convertDownToTab() {
if(event.keyCode==40) {
event.keyCode = 9;
}
}
document.onkeydown = convertDownToTab;
希望这有帮助