Javascript 检测输入字段上的回车键
我正在使用带有omnibox(id=“address”)和“GO”按钮(id=“submit”)的IFrame浏览器,我想检测用户何时按下enter键并执行JavaScript函数。我尝试过使用Javascript 检测输入字段上的回车键,javascript,html,css,iframe,input,Javascript,Html,Css,Iframe,Input,我正在使用带有omnibox(id=“address”)和“GO”按钮(id=“submit”)的IFrame浏览器,我想检测用户何时按下enter键并执行JavaScript函数。我尝试过使用标记和,但是表单破坏了我的应用程序,并且单击enter按钮没有任何作用 这是我的密码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
标记和,但是表单破坏了我的应用程序,并且单击enter按钮没有任何作用
这是我的密码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="shortcut icon" href="https://docs.google.com/drawings/d/e/2PACX-1vSqg7iNwpB8zKiJqvtbSf0-YrM_hiRkPs_aHG0RLVvXX1YnHfRfpnqSbN6DwEqpdaOWN1wZttTA3MI3/pub?w=30&h=30" type="image/x-icon" name="favicon"/>
<title>Lokean Web Browser</title>
<style type="text/css" media="all">
@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,400i,700&display=swap');
body, html {width: 100%; height: 100%; margin: 0; padding: 0}
.first-row {position: absolute;top: 0; left: 0; right: 0; height: 25px; padding:13px; padding-right: 0px; font-family: 'Noto Sans'; sans-serif; background-color:#202124; color:white; position:fixed; z-index: 4;}
.second-row {position: absolute; top: 46px; left: 0; right: 0; bottom: 0;}
.second-row iframe {display: block; width: 100%; height: 100%; border: none;}
.form {
float: right;
}
#logo {
}
body {
background-color: #202124;
color: white;
font-family: Noto Sans;
}
}
.noSelect {
}
#address {
border-radius: 11px;
border-style: none;
border-width: 1px;
width: 300px;
padding: 3px;
color: black;
background-color: white;
font-size: 11px;
}
#address:focus {
border-style: solid;
border-color: white;
outline: none;
}
#submit {
border-radius: 11px;
border-color: #FFC107;
border-style: solid;
border-width: 1px;
padding: 3px;
background-color: #FFC107;
color: black;
font-size: 11px;
margin-left: 6px;
margin-right: 13px;
}
input[type=submit] {
width: 2em; height: 2em;
}
#submit:hover {
cursor: pointer;
animation-name: fill-hover;
animation-duration: 0.4s;
animation-fill-mode: forwards;
}
#submit:focus {
outline: none;
}
#submit:active {
animation-name: border-active;
animation-duration: 0.25s;
animation-fill-mode: forwards;
}
@keyframes border-active {
from {}
to {border-color: #9A7E24; border-width: 3px; margin-left: 4px; margin-right: 11px;}
}
@keyframes fill-hover {
from {}
to {border-color: #E0A800; background-color: #E0A800;}
}
a {
color: white;
}
#url {
}
.title {
float: left;
font-size: 19px;
color: white;
}
.center {
text-align: center;
}
</style>
<script type="text/javascript" charset="utf-8">
var url;
function view() {
url = document.getElementById("address").value;
var checkColon = url.includes(":");
var youtube = url.includes("youtube.com/");
var youtubeShort = url.includes("youtu.be/");
var noSearch = url.includes(".") || url.includes(":");;
var newUrl;
var n;
var s;
if (noSearch !== true){
url = "https://en.wikipedia.org/w/index.php?search=" + url + "&title=Special%3ASearch";
}
if (checkColon !== true && noSearch == true){
url = "http://" + url;
}
if (youtube == true) {
n = url.indexOf('&');
if (n !== -1) {
url = url.substring(0, n);
}
newUrl = url.replace("/watch?v=", "/embed/");
url = newUrl;
}
if (youtubeShort == true) {
newUrl = url.replace("youtu.be/", "youtube.com/embed/");
url = newUrl;
}
document.getElementById("url").src = url;
document.getElementById("address").value = url;
return false;
}
function iLoad() {
url = document.getElementById("url").src;
document.getElementById("address").value = url;
}
</script>
</head>
<body>
<div class="first-row">
<span class="title" id="title">
<img src="https://docs.google.com/drawings/d/e/2PACX-1vQ6gkadBIbBAYR28QDvj8FQRnJ51SL9qIFYJQMPtkMiiyRb9ezklHjM5qTY3jCblh6wCw6hTkDJWLQl/pub?w=72&h=72" id="logo">
</span>
<span class="form">
<input onClick="this.setSelectionRange(0, this.value.length)" type="url" name="address bar" id="address" class="noSelect" value="" placeholder="Enter URL or search"/>
<input type="submit" value="+" id="submit" onclick="view();">
</span>
</div>
<div class="second-row">
<iframe id="url" title="Lokean Web" src="https://wikipedia.org" onLoad="iLoad();" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowpaymentrequest="true" allowfullscreen sandbox = "allow-forms allow-pointer-lock allow-same-origin allow-scripts allow-top-navigation" ></iframe>
<div class="center">
<br>
Lokean Web Browser unblocks Youtube and all GoGuardian-blocked websites, and uses Wikipedia for search purposes.
<br>
However, some websites refuse to connect because this is an iFrame browser.
</div>
</div>
</body>
</html>
洛基网络浏览器
@导入url('https://fonts.googleapis.com/css?family=Noto+Sans:400i、700&display=swap');
正文,html{宽度:100%;高度:100%;边距:0;填充:0}
.第一行{位置:绝对;顶部:0;左侧:0;右侧:0;高度:25px;填充:13px;右侧填充:0px;字体系列:'Noto Sans';无衬线;背景色:#202124;颜色:白色;位置:固定;z索引:4;}
.第二行{位置:绝对;顶部:46px;左侧:0;右侧:0;底部:0;}
.iframe的第二行{显示:块;宽度:100%;高度:100%;边框:无;}
.表格{
浮动:对;
}
#标志{
}
身体{
背景色:#202124;
颜色:白色;
字体系列:Noto Sans;
}
}
noSelect先生{
}
#地址{
边界半径:11px;
边框样式:无;
边框宽度:1px;
宽度:300px;
填充:3倍;
颜色:黑色;
背景色:白色;
字体大小:11px;
}
#地址:focus{
边框样式:实心;
边框颜色:白色;
大纲:无;
}
#提交{
边界半径:11px;
边框颜色:#FFC107;
边框样式:实心;
边框宽度:1px;
填充:3倍;
背景色:#FFC107;
颜色:黑色;
字体大小:11px;
左边距:6px;
右边距:13px;
}
输入[类型=提交]{
宽度:2米;高度:2米;
}
#提交:悬停{
光标:指针;
动画名称:填充悬停;
动画持续时间:0.4s;
动画填充模式:正向;
}
#提交:焦点{
大纲:无;
}
#提交:活动{
动画名称:活动边框;
动画持续时间:0.25s;
动画填充模式:正向;
}
@关键帧边框处于活动状态{
从{}
至{边框颜色:#9A7E24;边框宽度:3px;左边距:4px;右边距:11px;}
}
@关键帧填充悬停{
从{}
至{边框颜色:#E0A800;背景颜色:#E0A800;}
}
a{
颜色:白色;
}
#网址{
}
.头衔{
浮动:左;
字号:19px;
颜色:白色;
}
.中心{
文本对齐:居中;
}
var-url;
函数视图(){
url=document.getElementById(“地址”).value;
var checkColon=url.includes(“:”);
var youtube=url.includes(“youtube.com/”);
var youtubeShort=url.includes(“youtu.be/”);
var noSearch=url.includes(“.”| | url.includes(“:”);;
var-newUrl;
var n;
var s;
如果(鼻弓!==真){
url=”https://en.wikipedia.org/w/index.php?search=“+url+”&title=Special%3ASearch”;
}
if(检查冒号!==true&&noSearch==true){
url=“http://”+url;
}
如果(youtube==true){
n=url.indexOf('&');
如果(n!=-1){
url=url.substring(0,n);
}
newUrl=url.replace(“/watch?v=”,“/embed/”;
url=newUrl;
}
if(youtubeShort==true){
newUrl=url.replace(“youtu.be/”,“youtube.com/embed/”;
url=newUrl;
}
document.getElementById(“url”).src=url;
document.getElementById(“地址”).value=url;
返回false;
}
函数iLoad(){
url=document.getElementById(“url”).src;
document.getElementById(“地址”).value=url;
}
Lokean网络浏览器解锁Youtube和所有GoGuardian屏蔽的网站,并使用Wikipedia进行搜索。
但是,一些网站拒绝连接,因为这是一个iFrame浏览器。
感谢您的时间和帮助!:) 您可以执行以下操作:
const inputEl=document.getElementById(“输入”);
inputEl.addEventListener(“键控”,manageEnter);
函数manageEnter(evt){
evt.preventDefault();
如果(evt.keyCode===13){
console.log(“你好”);
}
}
您可以执行以下操作:
const inputEl=document.getElementById(“输入”);
inputEl.addEventListener(“键控”,manageEnter);
函数manageEnter(evt){
evt.preventDefault();
如果(evt.keyCode===13){
console.log(“你好”);
}
}
这可能行得通,但我无法在输入框中键入。这是因为preventDefault吗?@ConferenceMuseAreName我做了一个修改,问题是addEventListener中的事件类型,而不是keydown,您需要使用keyup。这可能有效,但我无法在输入框中键入。这是因为preventDefault吗?@ConferenceMuseAreName我做了一个修改,问题是addEventListener中的事件类型,而不是keydown,您需要使用keyup。