【问题标题】:How to run code inside .live() on document ready?如何在准备好的文档上运行 .live() 内的代码?
【发布时间】:2010-07-22 20:37:17
【问题描述】:
$('#foo').live('keyup', function (e) {
  var input = $(this).val();
  // code to process input
});

这是在发布表单中使用的,当文档准备好时,我需要在 live() 中运行代码。除了等待按键按下之外,还有其他方法可以调用它吗?

【问题讨论】:

  • .live() 中的代码在引发您在此.live() 中指定的事件时执行,在您的情况下为keyup,即按下并释放一个键时,所以我真的不知道是什么您正在询问,这与准备好的文档有什么关系。

标签: jquery forms post input


【解决方案1】:
$(function() { 
   // add the event
  $('#foo').live('keyup', function (e) { 
  var input = $(this).val(); 
      // code to process input 
    }); 
  $('#foo').trigger('keyup');  //trigger the event
}); 

【讨论】:

  • 哦,哇。这是优雅的。当有两个人时,我该怎么决定谁得到正确答案?
  • 只选择你最喜欢的 :) 一个注释,如果使用最新的 jQuery,请查看 .delegate,它可能比 .live 更好
  • 再说明:$('#foo').keyup(): 和 .trigger 一样,但我发现 .trigger 更具描述性(以后更容易理解代码)。跨度>
  • @randomguy - @Mark 关于选择答案是正确的,但您使用.live() 意味着该元素还不是页面的一部分。如果是这种情况,.trigger() 将不起作用。如果是在页面上,应该直接绑定keyup,使用Mark的解决方案。
【解决方案2】:

听起来您是说有一部分代码将在keyup 上运行,而您也希望在页面加载时运行一次。

如果是这种情况,您可以将该代码放在另一个函数中,并在页面加载时和 .live() 处理程序中调用它。

function someFunction() {
   // code to run
}

$('#foo').live('keyup', function (e) {
  var input = $(this).val();
    // run on keyup
  someFunction();
});

   // run on page load
someFunction();

【讨论】:

  • 这就是我所追求的!谢谢!
  • 不客气。 :o) 看起来您还没有“接受”之前问题的任何答案(通过单击答案左侧的复选标记)。您可能想回到以前的问题并这样做以确认适合您的解决方案。 :o) stackoverflow.com/users/377920/randomguy
  • 对不起,伙计,但具体来说......我问了如何在现场触发代码,马克的回答我相信更严格地回答了这个问题,尽管你的解决方案也很有效......嗯。好吧,这里有一些荣誉,哈哈。
  • @randomguy - 没问题,但如果页面加载时存在该元素,那么您为什么使用.live()?如果没有元素,那么.trigger() 将不起作用。如果有,那么没有理由使用.live()
【解决方案3】:

如果您询问如何在文档准备好之后附加 keyup 事件,这就是解决方案:

jQuery(document).ready(function($) {

    $('#foo').live('keyup', function (e) {
      var input = $(this).val();
      // code to process input
    });

});

但是,这将没有任何功能,因为提升 jQuery.live 的整个想法是自动绑定到每个选择器,现在和将来

另外,您指定一个 ID 作为选择器。 id 对于元素必须是唯一的。 因此,能够将其绑定到 ID 为 foo 的多个元素在技术上是不正确的。

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    相关资源
    最近更新 更多