【问题标题】:jQuery - TypeError: "".match is not a functionjQuery - TypeError: "".match 不是一个函数
【发布时间】:2013-08-07 19:05:22
【问题描述】:
(function( $ ) {

    $(function() {

        $( '.AddRow' ).delegate( 'click', function() {
            var $this = $( this ),
                $tbody = $this.parents( '.tbody' );
            $tbody.find( 'td:nth-child(-2)' ).css( 'background', 'red' );
        });

    });

})( jQuery );

我收到以下错误:

Timestamp: 07/08/2013 21:02:49
Error: TypeError: "".match is not a function
Source File: file:///C:/Program%20Files/Wamp/www/kbd-creator/v5/jquery-1.10.2.min.js
Line: 5

我尝试将 .delegate 更改为 .on 并且错误不再出现。我对 .delegate 做错了吗?

【问题讨论】:

  • 您缺少选择器.. $( '.AddRow' ).delegate('SELECTOR', 'click', function()
  • 问之前你没看文档吧?

标签: javascript jquery delegates


【解决方案1】:

您缺少.delegate() 的参数。无论如何,您可能应该使用.on(),但请注意,如果您仅使用 2 个参数调用它,则它不会是委托处理程序设置。

【讨论】:

    【解决方案2】:

    请参阅documentation

    .delegate() 应该在容器元素上调用。 它需要三个参数:用于监听事件的选择器、事件名称和处理程序。

    【讨论】:

      猜你喜欢
      • 2015-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-10
      • 1970-01-01
      • 2017-06-12
      • 2018-04-28
      相关资源
      最近更新 更多