如何调用函数get()
,该函数会在用户按下Enter键后检索文本框中输入的单词的含义?
我在下面添加我的代码,直到现在都没有用;请将您的更正添加到代码中,我知道代码太差了。
<script type="text/javascript" src="jquery.js"> </script>
<script type="text/javascript">
function get() {
$('#meaning').hide();
$.post('data.php', { name: form.wordfield.value },
function(output) {
$('#meaning').html(output).fadeIn(1000);
});
}
</script>
</head>
<body>
<div id="container" style="width:100%">
<div id="header">
<ul>
<!-- <li><a href="#">Home</a> </li>-->
</ul>
</div>
<div id="logo" style="width: 10%; float:left; position:fixed; top:0px; z-index:-1;"> <img src="logo.gif"></img></div>
<p>
<div id="searchform">
<form name="form" >
<input type="text" name="wordfield" onKeyup="get();"><input type="button" value="Translate" onClick="get();"> </form>
</div>
<div id="meaningbox">
</div>
<div id="meaning">
</div>
</p>
<div id="ad" style="width: 10%;float:right;"><!-- add section --></div>
<div id="footer">footer div goes here </div>
</div>
</body>
</html>
答案 0 :(得分:1)
您必须使用事件对象上的密钥代码。对于输入,它是13,所以你检查13。
<input type="text" id="MyInput" />
document.getElementById("MyInput").addEventListener( "keydown", function( e ) {
var keyCode = e.keyCode || e.which;
if ( keyCode === 13 ) {
// enter pressed
get();
}
}, false);
答案 1 :(得分:1)
好吧,你可以将事件绑定到keydown
或keypress
事件,并测试按下了哪个键。
但这通常不是一个好主意。关键事件可能由于其他原因而触发,例如用户从键盘IME中选择一个条目。
您真正想要做的是模拟提交表单的Enter键的行为。所以通过实际创建一个表单,将输入放入其中,并在表单上拾取submit
事件来实现。然后,您可以确定您只获得了用作提交的Enter印刷机,而不必担心其他Enter印刷机(或shift-Enter或类似的东西),以及任何可以填写表格但没有填写的设备没有正常的Enter按钮仍然可以使用该页面。
<form id="lookup-form">
<input id="lookup-field"/>
</form>
document.getElementById('lookup-form').onsubmit= function() {
get(document.getElementById('lookup-field').value);
return false;
};
(如果您感觉良心,可以使用action
指向执行查找的服务器端脚本的rel表单,以便该功能适用于没有JavaScript的用户代理。 )
答案 2 :(得分:0)
基本上:
答案 3 :(得分:0)
假设您正在使用jQuery JavaScript framework,则以下代码应该有效:
$('#my_text_box').keypress(function(e) {
if (e.which == 13) {
get();
}
});
13是Enter的关键代码。
理想情况下,代码应该是document.ready
设置的一部分。
答案 4 :(得分:0)
这对我有用:
$("#inputIDHERE").bind('keypress', function(e) {
if(e.which == 13) {
alert('You pressed enter!');
get();
}
});
我还添加了&lt; form&gt;&lt; / form&gt;在我的输入标签周围,虽然这可能没有必要。
答案 5 :(得分:0)
或者你使用它。我认为这是最好的方法,因为使用控制台进行调试更容易。
<input id="lookup-field" onchange="name of the function"/>
答案 6 :(得分:-1)
您正在寻找jQuery的change活动。
$('#TextBox').change(function(e) {
doSomethingWithString( this.val() );
})
关于keydown和查找回车键的建议也是有效的。