标签: keyup

限制WYSIWYG编辑器中的字符数(NicEdit)

我有这个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而没有...

希望对你有所帮助!

jquery text nicedit keyup

6
推荐指数
1
解决办法
7690
查看次数

Jquery:在按键上过滤输入

我有一个文本字段,它只接受以下字符:

允许的字符:[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)

为什么它不起作用?谢谢!

javascript regex jquery keypress keyup

6
推荐指数
2
解决办法
3万
查看次数

Cordova插件,用于将keyUp事件的keycode传递给App

我正在尝试创建一个可以"监听"任何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)

events android keyup cordova cordova-plugins

6
推荐指数
1
解决办法
1325
查看次数

UnsupportedOperationException:试图从与上下文无关的上下文中获取显示

我在实时应用程序上遇到 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)

android motorola keyup

6
推荐指数
1
解决办法
387
查看次数

奇怪的 KeyUp 行为(主窗体处理来自子进程的事件?!)

问题:

  1. KeyUp 由主窗口中的网格处理 ( Grid_KeyUp)
  2. 主窗口显示子窗口(例如MessageBox.Show(...)
  3. 用户按 [Return] ( Keys.Return) 关闭MessageBox
  4. 主窗口实际上从 MessageBox 中的按键获取 KeyUp 事件

我有一个非常简单的孤立样本,它显示了我遇到的问题。只需创建一个空的 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)

奇怪的事实:

  1. 当按 [Escape](打印)时,我会得到相同的行为KEYUP: Escape,但是当我按 [Space] 时,控制台不会打印任何内容! …

wpf routedevent keyup

5
推荐指数
1
解决办法
1083
查看次数

keyup事件没有解雇 - 主干

我的一个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)

events bind backbone.js keyup marionette

5
推荐指数
1
解决办法
1万
查看次数

IOS7上Safari中的onkeyup事件来自蓝牙键盘

我有以下设置:

  • 蓝牙扫描仪
  • iPad的
  • 带有用于扫描输入的文本字段的网页

用法:

  • 用户关注文本字段和扫描条形码与蓝牙扫描仪
  • 扫描仪在扫描结束时添加ENTER(13)

问题:

在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.

safari bluetooth onkeyup keyup ios7

5
推荐指数
1
解决办法
2685
查看次数

在keyup上替换''by' - '

你好我有两个输入,当我在第一个输入中写入时,使用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)

javascript jquery input keyup

5
推荐指数
1
解决办法
1406
查看次数

退出全屏后未触发 JavaScript 'keyUp' 事件

我有一个非常奇怪的keyUp事件行为。附上JS片段。在 Chrome/Chromium 上测试。

重现步骤:

  1. F11全屏
  2. 按下A键(保持按下状态)
  3. F11退出全屏
  4. 松开A

结果 - 控制台中没有输出行!这是为什么?我希望看到一些东西,但似乎退出全屏会禁用未来的 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)

javascript fullscreen keyup

5
推荐指数
1
解决办法
498
查看次数

event.preventDefault() 在 contenteditable div 中似乎对我不起作用

我有一些简单的 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)

javascript dom-events keyup angular

5
推荐指数
1
解决办法
301
查看次数