我有这个jQuery代码:
var char = 60;
$("#counter").append("You have <strong>" + char + "</strong> char.");
$("#StatusEntry").keyup(function () {
if ($(this).val().length > char) {
$(this).val($(this).val().substr(0, char));
}
var rest = char - $(this).val().length;
$("#counter").html("You have <strong>" + rest + "</strong> char.");
if (rest <= 10) {
$("#counter").css("color", "#ff7777");
}
else {
$("#counter").css("color", "#111111");
}
});
Run Code Online (Sandbox Code Playgroud)
它工作正常!但如果相反,val()我有text()它不起作用.
问题是,在可用的char结束时,它开始从一开始就替换文本......使用val是完美的.
为什么我需要它在文本上?因为我正在使用一个所见即所得的插件,它将我的textarea转换为div.
我正在尝试.stopPropagation但它不起作用..尝试返回false而没有...
希望对你有所帮助!
我有一个文本字段,它只接受以下字符:
允许的字符:[az 0-9 +# - .]
这是相同的过滤器SO确实在"标签"字段,当你问一个问题.如果用户键入无效字符,我希望当前文本字段值保持不变.我试过了:
$('#post_tags').keypress(function(event){
var char = String.fromCharCode(event.which)
var txt = $(this).val()
if (! txt.match(/[^A-Za-z0-9+#-\.]/)){
$(this).val(txt.replace(char, ''));
}
})
Run Code Online (Sandbox Code Playgroud)
为什么它不起作用?谢谢!
我正在尝试创建一个可以"监听"任何onKeyUp事件的cordova插件,并将其传递keyCode给回调函数.
目的是检测来自外部键盘/条形码扫描仪的任何键击 - 任何字符(例如0,1,2,3 ... a,b,c,...)
我的问题是:如何添加onKeyUp监听器?
这是我到目前为止:
package il.co.pnc.cordova.keystrokes;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.PluginResult;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.KeyEvent;
public class keystrokes extends CordovaPlugin {
private CallbackContext callback = null;
@Override
public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException {
// Defining the callback
if ("register".equals(action)) {
this.callback = callbackContext;
}
return true;
}
}
// *** My problem is - I don't know where …Run Code Online (Sandbox Code Playgroud) 我在实时应用程序上遇到 UnsupportedOperationException 崩溃。所有崩溃都与 Moto Android 11 设备有关。可以看出它与 onKeyUp 有某种关系。但仍然不知道如何重现或解决这个问题。任何帮助,将不胜感激。
Fatal Exception: java.lang.UnsupportedOperationException: Tried to obtain display from a Context not associated with one. Only visual Contexts (such as Activity or one created with Context#createWindowContext) or ones created with Context#createDisplayContext are associated with displays. Other types of Contexts are typically related to background entities and may return an arbitrary display.
at android.app.ContextImpl.getDisplay(ContextImpl.java:2580)
at android.content.ContextWrapper.getDisplay(ContextWrapper.java:1030)
at android.content.ContextWrapper.getDisplay(ContextWrapper.java:1030)
at android.app.Activity.onKeyUp(Activity.java:3859)
at android.view.KeyEvent.dispatch(KeyEvent.java:2866)
at android.app.Activity.dispatchKeyEvent(Activity.java:4176)
at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:122)
at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84)
at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:140)
at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:558)
at …Run Code Online (Sandbox Code Playgroud) 问题:
Grid_KeyUp)MessageBox.Show(...))Keys.Return) 关闭MessageBox我有一个非常简单的孤立样本,它显示了我遇到的问题。只需创建一个空的 WPF 项目并使用此 XAML:
<Grid KeyUp="Grid_KeyUp">
<Button Click="Button_Click"></Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)
以及隐藏的代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Grid_KeyUp(object sender, KeyEventArgs e)
{
Console.WriteLine("KEYUP: " + e.Key);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this, "TEST");
}
}
Run Code Online (Sandbox Code Playgroud)
如果单击该按钮并按 [Return] 关闭 MessageBox,输出窗口将打印:
KEYUP: Return
Run Code Online (Sandbox Code Playgroud)
奇怪的事实:
KEYUP: Escape,但是当我按 [Space] 时,控制台不会打印任何内容! …我的一个Backbone.Marionette Views中的JQuery事件有问题.我已经定义了一些点击和键盘事件.但其中一些不起作用.例如,我希望每次触发keyup事件时都会调用fetch-function.
所以这是代码:
return Backbone.Marionette.ItemView.extend({
tagName: 'div',
template: Template,
events:{
'click .yes': 'yes',
'click .no': 'no',
'keyup #citySearch': 'fetch'
},
yes : function() {
this.close();
},
no : function() {
this.close();
},
initialize: function(){
this.collection = new AreaCollection();
this.collection.on('sync', this.onShow, this);
this.sourceArr = [];
},
onShow: function() {
var that = this;
$('#citySearch').typeahead({
source: that.sourceArr
});
},
fetch: function(ev) {
var that = this;
that.collection.fetch({
data : {
query : $(ev.currentTarget).val(),
type : 'cities'
},
success: function(response) {
for (var …Run Code Online (Sandbox Code Playgroud) 我有以下设置:
用法:
问题:
在IOS7的Safari上,蓝牙设备上的键盘事件处理方式似乎有所改变.代码 ...
window.onkeyup = function (e) {
console.log(e.KeyboardEvent)
}
Run Code Online (Sandbox Code Playgroud)
...应该返回有关按下的键的信息.相反,我得到......
keyCode: 0
keyIdentifier: "Unidentified"
Run Code Online (Sandbox Code Playgroud)
......无论我按哪个键.
同样的结果展位形式蓝牙扫描仪和蓝牙键盘.
谢谢/ E.
你好我有两个输入,当我在第一个输入中写入时,使用keyup jquery函数im在第二个输入字段中自动写入.
但是当我点击空格键时,我想将行而不是空格写入第二个输入字段.
例如:
第一个输入:Hello world,
第二个输入:Hello-world
我有以下代码:
$(".firstInput").keyup(function(e) {
val = $(this).val();
if( e.keyCode == 32 ) {
val += "-";
}
$(".secondInput").val( val );
});
Run Code Online (Sandbox Code Playgroud) 我有一个非常奇怪的keyUp事件行为。附上JS片段。在 Chrome/Chromium 上测试。
重现步骤:
结果 - 控制台中没有输出行!这是为什么?我希望看到一些东西,但似乎退出全屏会禁用未来的 keyUp 事件。在我的情况下,我通过按一个键开始工作,并且需要在释放后停止它。目前它继续运行。
问题是 - 我如何让它工作?
这可能是 Chrome/Chromium 的错误吗?我现在已经尝试过 Firefox - keyup事件已成功触发。
i = 0;
window.addEventListener("keyup", function() {
console.log("key up, " + i);
i = i+1;
});Run Code Online (Sandbox Code Playgroud)
我有一些简单的 Angular 7.x 代码,它基本上使用了一个 contenteditable div,当用户按下 [ENTER] 键时,我试图阻止默认操作 - 代码看起来很好,但无论我尝试什么,它都会执行默认操作动作例如将光标移动到我试图防止发生的下一行。
我究竟做错了什么?
// 组件代码
onTextChange(event): void {
// keyCode for the Enter key is 13
if (event.keyCode === 13) {
console.log('enterPressed');
event.stopPropagation();
event.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
// 模板代码
<div contenteditable="true" [(ngModel)]="text" (keyup)="onTextChange($event)" (change)="onTextChange($event)" #textarea></div>
Run Code Online (Sandbox Code Playgroud) keyup ×10
javascript ×4
jquery ×3
android ×2
events ×2
angular ×1
backbone.js ×1
bind ×1
bluetooth ×1
cordova ×1
dom-events ×1
fullscreen ×1
input ×1
ios7 ×1
keypress ×1
marionette ×1
motorola ×1
nicedit ×1
onkeyup ×1
regex ×1
routedevent ×1
safari ×1
text ×1
wpf ×1