我正在尝试将一个keyup函数添加到使用jquery添加到DOM的输入字段。
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text' onkeyup='testKeyUp(this)'>");
我想在用户输入testTextbox
中的值并按下回车键时执行一些操作。
keyup功能如下:
function testKeyUp(e) {
alert(e.keyCode+" : "+e.which);
}
e.keyCode
和e.which
返回未定义。
如何在keyup函数中获取keycode?任何人都可以帮我解决这个问题吗?提前谢谢。
答案 0 :(得分:1)
我想,你混合了不同的东西:pure js
和jquery
。仅使用jquery
,您可以使用下面的代码段实现您想要的效果。
$("#testTextbox").on("keyup", function(e){
alert(e.keyCode+" : "+e.which);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id='testTextbox' name='testTextbox' type='text' >
仅使用pure Js
function testKeyUp(e){
alert(e.keyCode+" : "+e.which);
}
<input id='testTextbox' name='testTextbox' type='text' onkeyup='testKeyUp(event)'>
答案 1 :(得分:1)
使用内联事件会使这变得复杂。 e
在函数中充当this
。稍微修改代码以删除内联事件会更容易,而是将其写为:
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
var textInput = document.getElementById('testTextbox');
textInput.addEventListener('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
或者
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
$('#testTextbox').on('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
这是一个有效的例子:
$("#testDiv").html("<input id='testTextbox' name='testTextbox' type='text'>");
var textInput = document.getElementById('testTextbox');
textInput.addEventListener('keyup', function(e){
alert(e.keyCode+" : "+e.which);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="testDiv"></div>
&#13;
答案 2 :(得分:1)
class Obj(object):
def __init__(self):
self.A = 2
self.B = 3
def fun(self, ar):
def funA(self):
print self.A
def funB(self):
x = self.B + 4
print self.B
for letter in ar:
name = 'fun' + letter + '()'
exec(name)
obj_instance=Obj()
obj_instance.fun(['A', 'B'])
正如@edkeveked上面回答的那样,但我会使用event。 key 而不是事件。 keycode ,作为键码,根据https://developer.mozilla.org/en-US/docs/Web/Events/keyup被弃用
答案 3 :(得分:0)
Here 是您需要的。
您将该函数命名为$data = [];
foreach($input as $key => $value)
{
$counter = 0;
if($value['userTag'] =="All"){
if($counter == 0 ) {//test if is the first userTag == All
$counter = 1;//increment the counter so the if doesn't trigger and the value isn't appended
$data[] = $value;//add it to the array
}
} else {
$data[] = $value;//keep the rest of the values
}
}
return $data;
,函数的真实名称为testKeyUp()
。你也不会得到shippingPackageKeyValueKeyUp(e)
但this
JS
event
答案 4 :(得分:0)
首先我注意到事件处理程序的函数名与onkeyup回调名不匹配。
确保两者匹配。其次
onkeyup='testKeyUp(e)'