jQuery:在绑定函数中执行代码片段onload和

时间:2010-04-07 18:33:57

标签: jquery

这是我的jQuery字计数器代码的一部分。我的问题是:我如何执行计算单词的部分并在页面加载时显示结果 - 以及键盘,单击,模糊等事件?我可以复制粘贴,但这看起来很草率。或者我可以将重复的位拉到另一个函数中,但是然后我的$(this)变量将不再起作用。怎么办?

$(".count").each(function() {

  // Set up max words
  maxWords = 200;

  // Set up div to display word count after my textarea
  $(this).after('<div class="word-count"><strong>0</strong> Words ('+maxWords+' Maximum)</div>');

  // Bind function to count the words
  $(this).bind('keyup click blur focus change paste', function() {

    // Count the words
    var numWords = jQuery.trim($(this).val()).replace(/\s+/g," ").split(' ').length;

    // Display the result
    $(this).next('.word-count').children('strong').text(numWords);
  });
});

1 个答案:

答案 0 :(得分:2)

在这一部分,只需在绑定后触发一次,如下所示:

$(this).bind('keyup click blur focus change paste', function() {
  var numWords = jQuery.trim($(this).val()).replace(/\s+/g," ").split(' ').length;
  $(this).next('.word-count').children('strong').text(numWords);
}).keyup();

这会触发keyup事件一次,即刚绑定的事件,所以当这段代码运行时,它会触发你刚刚绑定的处理程序。