标签: keyup

如果在keyup上添加char,则不会触发输入中的Google Chrome更改事件

$('input#not-gonna-work').bind({
    keyup: function(){
        console.log('Typed a key');
        $(this).val($(this).val() + '.');// try with any other char
    },
    change: function(){
       console.log('I\'m a changed input');
    }
});
Run Code Online (Sandbox Code Playgroud)

我在这个简化的jsfiddle示例中暂存了这个bug .与此错误相关的问题是我有一个正在构建的财务应用程序,如果输入数据发生更改,我需要显示"保存更改"按钮.因为我需要立即插入千位分隔符keyup(如果需要),这个错误真的让我烦恼并破坏了这个功能.

要重现它,请转到jsfiddle示例,在第一次输入中打开chrome类型的任何东西,keyup事件将被正确触发,而不是使用制表符或在其外部单击的非焦点输入,并且change不会触发事件.对其他输入执行相同操作change并将被触发.

我在Firefox中对它进行了测试,它按预期工作.

我正在使用的Chromium版本是14.0.835.202(Developer Build 103287 Linux)Ubuntu 11.10

尝试直接从Chrome网站新安装的Google Chrome 15.0.874.106.

我可以在change事件中插入分隔符,但由于用户将输入许多7位以上的数字,因此在键入时插入分隔符会更好.

jquery google-chrome javascript-events keyup

7
推荐指数
2
解决办法
6432
查看次数

Jquery keyup无法在Android上运行

我没有在iPhone上测试这个代码,但我确信(测试过)它在Android手机上不起作用:

 $('#search').live('keyup',function(key){
          if(key.which == 13){
            /*ANIMATE SEARCH*/
            _key = $(this).val();
            $("#wrapper").html("");
                $('#wrapper').hide(0).load('results.html').fadeIn(800);
                $('#search-fade').val(_key).fadeIn();
          }
      });
Run Code Online (Sandbox Code Playgroud)

更好地解释:

我有一个简单的

<input type="text" name="search" id="search"/>
Run Code Online (Sandbox Code Playgroud)

不知道为什么,但这个代码在Android手机上无法正常工作

有任何想法吗?

javascript jquery android keyup

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

jQuery keyup函数不起作用?

我的HTML文件:

<html>
<head>
  <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
  <script type="text/javascript" src="js/scripts.js"></script>
  <link rel="stylesheet" type="text/css" href="style.css" />
  <title>
    Login
  </title>
</head>
<body>
<div class=loginForm>
  <p>Worker-ID:<input type=text id=workerID name=workerID /></p>
  <p>Password:<input type=password  id=workerPassword name=workerPassword /></p>
  <input type=submit id=submitLogin name=submitLogin value="Log in"/>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的scripts.js:

$('#workerID').keyup(function() {
    alert('key up');
);
Run Code Online (Sandbox Code Playgroud)

它根本不起作用.我尝试了所有空间,一个字母,数字.警报未显示.哪里出错了?

html javascript jquery keyup

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

Angular2 keyup事件更新ngModel光标位置跳转到结束

我有一个Angular2指令的问题,应该执行以下操作:

  • 检测用户是否输入"." 字符.
  • 如果下一个字符也是'.',请删除重复的'.' 并将光标位置移动到'.'之后 烧焦

我有上述工作,但是,当与ngModel结合使用时,每次更新模型时光标位置都会跳到最后.

输入:

<input type="text" name="test" [(ngModel)]="testInput" testDirective/>
Run Code Online (Sandbox Code Playgroud)

指令:

 import {Directive, ElementRef, Renderer, HostListener, Output, EventEmitter} from '@angular/core';

@Directive({
  selector: '[testDirective][ngModel]'
})
export class TestDirective {


  @Output() ngModelChange: EventEmitter<any> = new EventEmitter();

  constructor(private el: ElementRef,
    private render: Renderer) { }

  @HostListener('keyup', ['$event']) onInputChange(event) {
    // get position
    let pos = this.el.nativeElement.selectionStart;

    let val = this.el.nativeElement.value;

    // if key is '.' and next character is '.', skip position
    if (event.key === '.' &&
      val.charAt(pos) === '.') …
Run Code Online (Sandbox Code Playgroud)

directive input keyup ngmodel angular

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

限制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:两个数字的百分比

EDITED

感谢所有提供支持的人...我将与您分享的最佳工作脚本,希望我能帮助其他寻求相同解决方案的人:

    $(document).ready(function(){
$("#price1, #price2").keyup(function() {
  var priceOne = parseFloat($("#price1").val());
  var priceTwo = parseFloat($("#price2").val());
  var rate = parseFloat($("#rate").val());
  if ($("#price1").val() && $("#price2").val()){     
  $('#rate').val(((priceTwo - priceOne) / priceOne * 100).toFixed(2));
}

});

$("#rate").keyup(function() {
  var priceOne = parseFloat($("#price1").val());
  var rate = parseFloat($("#rate").val());

   if ($("#rate").val() && $("#price1").val() && $("#price2").val()){
 $('#price2').val(((priceOne * rate)/ 100 + priceOne).toFixed(2));
}
});
})
Run Code Online (Sandbox Code Playgroud)

您也可以在此链接后进行测试


初步问题:

请帮助计算两个数字之间的百分比.我试过一种方法,但我没有成功.请告诉我有什么问题,或者如果你能推荐其他可以帮助我的脚本,我将不胜感激

我的剧本:

<html>
<head>
 <script type="text/javascript">
$("#rate").text(function() {
    var result = (parseInt(($("#price1").text(), 10) * 100)/ parseInt($("#price2").text(), 10));
    if (!isFinite(result)) result …
Run Code Online (Sandbox Code Playgroud)

html jquery rate keyup

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

C#在游戏应用程序中按住键

我正在尝试创建一个C#应用程序,它将控制游戏.我试图做的是例如:按住A键150ms,按住左箭头500ms,依此类推.我经常搜索,我发现了以下代码.我的程序首先瞄准游戏,然后拿着钥匙.

I'm holding the keys this way:

Keyboard.HoldKey(Keys.Left);
Thread.sleep(500);
Keyboard.ReleaseKey(Keys.Left);
Run Code Online (Sandbox Code Playgroud)

这是Keyboard类:

public class Keyboard
 {
    public Keyboard()
    {
    }

    [StructLayout(LayoutKind.Explicit, Size = 28)]
    public struct Input
    {
        [FieldOffset(0)]
        public uint type;
        [FieldOffset(4)]
        public KeyboardInput ki;
    }

    public struct KeyboardInput
    {
        public ushort wVk;
        public ushort wScan;
        public uint dwFlags;
        public long time;
        public uint dwExtraInfo;
    }

    const int KEYEVENTF_KEYUP = 0x0002;
    const int INPUT_KEYBOARD = 1;

    [DllImport("user32.dll")]
    public static extern int SendInput(uint cInputs, ref Input inputs, int cbSize);

    [DllImport("user32.dll")]
    static …
Run Code Online (Sandbox Code Playgroud)

c# key fullscreen keyup

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

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
查看次数