我有这个方法:
$(".txtB").on("keypress", function(event) {
console.log($(this).val());
if (...)
event.preventDefault();
});
但只有在第二个按键不按第一个按键后才能工作。之后,每次按键都会触发。 任何人都知道可能是什么?
感谢。
稍后编辑: 这可能与我使用该功能的方式有关?
HTML中的:onkeyup = "caseValuePercentageTwoDecimalRestriction()"
:
function caseValuePercentageTwoDecimalRestriction() {
$(".caseValuePrecentageRestriction").on("keypress", function (event) {
...
...
答案 0 :(得分:1)
对于输入字段,还有一个属性input propertychange
可用于通过键盘更改文本以及从鼠标复制文本。尝试使用它
$(".txtB").on("input propertychange", function(event) {
console.log($(this).val());
if (...)
event.preventDefault();
});
答案 1 :(得分:1)
View listFirstItem = myListAdapter.getView(0,null, null);
TextView tv = (TextView)listFirstItem.findViewById(R.id.itemTitle);
Log.d(TAG, (tv.getText().toString());
tv.setText("My Text");
listFirstItem.setBackground(getActivity().getDrawable(R.drawable.ripple));
要回答您的问题,Keypress事件会在输入更改之前发生。但Keyup发生在变化之后。这是唯一的区别。
答案 2 :(得分:1)
错误是在RewriteEngine On
RewriteCond %{THE_REQUEST} /tutorials/[^/?]+/?(\?\S*)?\sHTTP
RewriteRule ^tutorials/([^/]+)/?$ user.php?tutorial_title=$1%1 [NC,L]
事件后caseValuePercentageTwoDecimalRestriction
事件上调用keyup
。
keypress
时释放密钥时会调用 keyup
。
您应该在keypress
事件上绑定keypress
事件处理程序,如下所示:
document.ready
答案 3 :(得分:0)
使用keyup而不是按键 - 尝试:
$(".txtB").keyup(function (event) {
console.log($(this).val());
});
答案 4 :(得分:0)
然后也许.keydown会对你有用吗?
答案 5 :(得分:0)
我们走了:
你的代码必须是这样的:
unknown option --server1
希望它有所帮助;)
答案 6 :(得分:0)
这对你有用,但这不是完美的解决方案,只是一个解决方法:
$(document).ready(function(){
$(".txtB").on("keypress", function (event) {
console.log($(this).val() + event.key);
});
});
这是jsbin
由于其他用户在更改文本框的值之前共享了Keypress事件触发器。如果您想要更新文本框的值,则应使用其他事件。
答案 7 :(得分:0)
尝试使用更改而不是按键或键盘,因为它将首先调用:
http://localhost:8983/solr/searching/select?q=*:*&fq=maths:25 AND science: 30
答案 8 :(得分:0)
keypress
个事件。
因此,在添加第一个字符之前触发第一个keypress event
,而输入仍为空。
如果您选中此JSFIDDLE,即使您在输入中看到值,也会看到一个提示框。
例如,如果您最初键入a
,则会看到一个空警告框,然后键入其他字符,此时您会看到它正在警告a
您需要使用keyup
或keydown
。您也可以event.preventDefault()
使用keyup
& keydown