标签: onkeyup

我可以延迟jquery的keyup事件吗?

我正在使用rottentomatoes电影API和twitter的typeahead插件使用bootstrap 2.0.我已经能够整合API,但我遇到的问题是在每个keyup事件之后调用API.这一切都很好,但是我宁愿在一个小暂停之后拨打电话,让用户先输入几个字符.

这是我在keyup事件后调用API的当前代码:

    var autocomplete = $('#searchinput').typeahead()
    .on('keyup', function(ev){

        ev.stopPropagation();
        ev.preventDefault();

        //filter out up/down, tab, enter, and escape keys
        if( $.inArray(ev.keyCode,[40,38,9,13,27]) === -1 ){

            var self = $(this);

            //set typeahead source to empty
            self.data('typeahead').source = [];

            //active used so we aren't triggering duplicate keyup events
            if( !self.data('active') && self.val().length > 0){

                self.data('active', true);

                //Do data request. Insert your own API logic here.
                $.getJSON("http://api.rottentomatoes.com/api/public/v1.0/movies.json?callback=?&apikey=MY_API_KEY&page_limit=5",{
                    q: encodeURI($(this).val())
                }, function(data) {

                    //set this to true when your callback executes
                    self.data('active',true);

                    //Filter out your …
Run Code Online (Sandbox Code Playgroud)

jquery onkeyup twitter-bootstrap

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

如何检查按键上文本字段的新值?

我有一个表单字段,我需要能够检测字段何时更改并使用字段的值执行一些其他代码.如果按下的键实际上改变了文本框的值,我只想执行代码.这是我提出的解决方案.

function onkeypress(e) {
  var value = this.value;
  // do something with 
}

function onkeyup(e) {
  if ( e.which == 8 || e.keyCode == 46 ) { // delete or backspace keys
    this.onkeypress(e);
  }
}
Run Code Online (Sandbox Code Playgroud)

但是只有一个问题.onkeypress在字段值更新之前被触发,所以当我获取值时,我得到之前的值.如果我知道一种方法来测试密钥是否改变了值,我会专门使用密钥,但是某些字符(如箭头键)对字段的值没有影响.

有任何想法吗?

javascript keycode onkeypress fromcharcode onkeyup

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

jQuery Cleditor在keyup上获得textarea值

我正在使用Cleditor http://premiumsoftware.net/cleditor/docs/GettingStarted.html.我想获取keyup的值并将文本插入另一个div.cleditor带有我正在下面的jsfiddle示例中使用的change()事件,但这与keyup不同.我希望在我输入时更新div.我尝试过键盘但它不起作用.

这就是我现在拥有的

$("#input").cleditor().change(function(){
    var v = $('#input').val();
    $('#x').html(v);
})
Run Code Online (Sandbox Code Playgroud)

检查jsfiddle http://jsfiddle.net/qm4G6/11/

javascript jquery wysiwyg onkeyup cleditor

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

如何检测是否按下了向上按钮

在我的活动中,操作栏仅显示左箭头和活动标题.

当我按下向左箭头时,活动返回到上一个活动,但在onKeyUp,OnkeyDown和OnBackPressed方法中没有注册任何事件.

但是当我按下手机上的Back键(在底部)时,活动将返回到前一个,并且onKeyUp,OnKeyDown和OnBackPressed上的所有方法都会注册一个事件(在logcat中).

如何捕获左箭头(我认为它被称为UP按钮)?

我需要捕获密钥的原因是在onPause方法中知道活动是由用户而不是系统销毁的(例如,如果用户切换到另一个活动).

通过进一步研究他的问题,我发现UP按钮给出了一个由onOptionsItemSelected方法捕获的事件,因为菜单上没有其他按钮,我知道它就是这个按钮.

android onkeydown onkeyup onbackpressed

10
推荐指数
2
解决办法
3508
查看次数

Angular 2+优雅的拦截Command + S的方式

尝试为Command + S实现快捷键组合以保存表单.

我已经读过这个 - https://angular.io/guide/user-input,但它没有说任何关于元或命令的内容.

尝试围绕表格:

<div
  (keyup.command.s)="save()"
  (keyup.command.u)="save()"
  (keyup.control.u)="save()"
  (keyup.control.s)="save()"
  (keyup.meta.u)="save()"
>
Run Code Online (Sandbox Code Playgroud)

其中,只有control.ucontrol.s工作.

凭借Angular 2+的所有强大功能和跨浏览器功能,我希望以某种方式以优雅的方式处理,使用(keyup...).

肯定很多Angular Devs都使用Macs :).

我还读过如何通过JavaScript捕获Mac的命令键?http://unixpapa.com/js/key.html但仍然希望Angular优雅的解决方案,而不是与浏览器特定的东西打架......

javascript keyboard-shortcuts cross-browser onkeyup angular

10
推荐指数
2
解决办法
2121
查看次数

iOS 9 - 键盘事件未触发

是否有其他人keyup在iOS 9 中遇到问题没有解雇?

只是一个简单的测试床为我复制了这个问题.

<input id="txtInput" />
Run Code Online (Sandbox Code Playgroud)

香草JS:

document.getElementById('txtInput').onkeyup = function () {
    console.log('keyup triggered');
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#txtInput').on('keyup', function () {
    console.log('keyup triggered');
});
Run Code Online (Sandbox Code Playgroud)

既不火......

javascript jquery onkeyup keyup ios9

9
推荐指数
1
解决办法
8716
查看次数

jQuery keyup和Safari中的'enter'

我正在使用jQuery,并希望用户在将数据输入搜索字段后开始搜索时可以按Enter键.

我正在使用以下代码:

        $('#textSearch').keyup(function (event) {
            if (event.keyCode == '13') {
                doSearch();
            }
            return false;
        });
Run Code Online (Sandbox Code Playgroud)

它在Firefox和IE中完美运行,但在Safari中完全没有.当我在safari中输入并且这不是我想要的时候,表单正在提交.

添加onsubmit ="return false;" 到表单工作,但不是一个选项,因为表单标签在asp.net页面的母版页上,我需要在其他页面上提交表单.

有没有办法让这个功能在Safari中运行?

编辑:我也尝试只显示警告而不是doSearch()函数.警报显示正常但在此之后表单正在提交.

safari jquery onkeyup

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

如何在jQuery事件触发后的一段时间后执行jQuery函数?

我想在300毫秒之后在文本框的密钥上发起一个事件

$("#blah").keyup(function () {
               //code is here
            }).delay(300).myfunction();
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此功能时,我发现myfunction不是函数的错误.

所以任何人都可以解释我如何在文本框中的键盘后300毫秒后执行一个函数

jquery events textbox onkeyup

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

在jQuery中使用.keyup计算字符的简单方法

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

如何在JavaScript/jQuery中编写inputon 的字符数.keyup

javascript jquery onkeyup

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

onKeyUp 在反应中不起作用,而 onChange 做了

我正在做一个 React 编码挑战,需要在 KeyUp 上更新一个值。我最初将它设置为更新 onChange 但测试需要 onKeyUp 所以我尝试将其更改为该值,但我的字段不再更新并且我无法在 textarea 中输入任何内容。

class MarkdownApp extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      value: ''
    };

    this.handleKeyUp = this.handleKeyUp.bind(this);
  }

  handleKeyUp(event) {
    this.setState({ value: event.target.value })
  }

  render() {
    return (
      <form>
        <label>
          Enter your markdown here:
          <br />
          <textarea value={this.state.value} onKeyUp={this.handleKeyUp} id='editor' />
          <br />
        </label>
        <label>
          Your markup will be previewed here:
          <p id='preview'>{marked(this.state.value)}</p>
        </label>
      </form>
    );
  }
}

ReactDOM.render(
  <MarkdownApp />,
  document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

就像我说的,当它是 onChange 并且我的函数是 handleChange 时,这很好用,但是因为我切换了它,所以我无法输入任何内容。

html javascript onkeyup reactjs

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