如何捕捉未捕获的类型错误

如何捕捉未捕获的类型错误

问题描述:

我有以下开始我的jQuery:如何捕捉未捕获的类型错误

(function($) { 
    $.widget('ui.hbTags', { 
     options: { 
      availableTags: [], 
      node: false, 
      tagList: false, 
      existingTags: false, 
      placeholder: false, 
      ajaxUrl: false, 
      existingUrl: false, 
      csrftoken: false 
     }, 

不过,我得到uncaught typeerror undefined is not a function在第2行,我知道这是因为ui.hbTags是不是每个页面上的元素,但如何为了防止这个问题?

+1

'如果($( 'ui.hbTags'))' – loveNoHate 2014-10-10 17:58:15

+0

为什么不添加它特定页面只在需要的地方 – 2014-10-10 17:59:06

+0

@EhsanSajjad,因为对于最佳实践页面加载时间来说效率不高。您应该连接并分发到CDN。 – alias51 2014-10-10 17:59:50

我只会在调用widget之前检查标签是否在页面上。

(function($) { 
    if($('ui.hbTags').length > 0) { 
     $.widget('ui.hbTags', { 
      options: { 
       availableTags: [], 
       node: false, 
       tagList: false, 
       existingTags: false, 
       placeholder: false, 
       ajaxUrl: false, 
       existingUrl: false, 
       csrftoken: false 
      }, 

如果(typeof运算$(EL)不等于 '未定义') 使用此psedo代码的代码之前