【问题标题】:manually trigger jquery keyup?手动触发jquery keyup?
【发布时间】:2011-06-28 19:10:24
【问题描述】:

我想我想通了……看我的评论。抱歉。

我有一个 JSON Web 服务,它在某个 keyup() 事件上调用,该事件根据输入检索一些数据。我想在输入任何内容之前加载一组初始数据。我正在尝试按照文档中的说明手动调用 keyup(),但它似乎没有做任何事情。

$('#inputItemName').keyup(function () {
//perform query, display results
});

^^ 输入框时效果很好

$('#inputItemName').keyup();

^^ 在文档就绪函数后立即调用,似乎没有做任何事情。

【问题讨论】:

  • 我想我想通了...我将调用结果的函数在脚本标记中移动到比 keyup() 调用更高的位置,现在它可以工作了。这有意义吗?
  • 是的:您必须在触发器之前触发它! (否则触发事件,但不调用函数)

标签: jquery


【解决方案1】:

对我来说很好:http://jsfiddle.net/radu/gD5WL/

$('#test').keyup(function () {
    console.log('hello');
});

$('#test').keyup();

keyup 事件在页面加载时被调用。

【讨论】:

  • 所以诀窍就是顺序。由于我的答案不受欢迎,因此我将接受的答案更改为您的答案。
  • keyCode怎么样?
【解决方案2】:
$('#inputItemName').trigger('keyup');

【讨论】:

    【解决方案3】:

    您在选择器中缺少#... 试试哈希...

    $('#inputItemName').keyup();

    【讨论】:

      【解决方案4】:

      试试触发功能。

      $('#inputItemName').trigger('keyup');

      http://api.jquery.com/trigger/

      【讨论】:

        【解决方案5】:

        我想我想通了...我将调用结果的函数在脚本标记中移到比 keyup() 调用更高的位置,现在它可以工作了。

        【讨论】:

          【解决方案6】:

          您在第二个中缺少 id 的哈希标记:

          $('#inputItemName').keyup();

          【讨论】:

          • 抱歉,刚刚更新...我现在确实有,但仍然无法使用。
          • 创建一个jsFiddle,我们来看看。
          【解决方案7】:

          试试这个:

          $('#inputItemName').bind('keyup',function() {
              //stuff
          });
          

          【讨论】:

            猜你喜欢
            • 2013-09-10
            • 2017-08-07
            • 2011-12-27
            • 1970-01-01
            • 1970-01-01
            • 2022-10-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多