0

我正在调试一个drupal模块,第二行drupal_add_js调用uc_discounts.js中的一个js函数

drupal_add_js(drupal_get_path('module', 'uc_discounts') . '/uc_discounts.js');
drupal_add_js('(function($){jQuery(document).ready(function () { uc_discountsOnLoad(e); })})(jQuery);', array('type' => 'inline', 'group' => JS_DEFAULT, 'scope' => 'footer'));

firebug 中有一条错误消息,ReferenceError: uc_discountsOnLoad is not defined,任何人都可以找出问题所在?

** 更新 **

我知道问题所在!

如果在外部定义 uc_discountsOnLoad (function ($) {})(jQuery); 可以调用~但是不能使用jquery符号,是冲突!但在这种情况下,我该如何调用这个函数?

function uc_discountsOnLoad(e) {

  context = $('body');
  uc_discountsProcessCodes(context, e);

  //Add click event listener to discounts pane button once
  $("input[id*=uc-discounts-button]:not(.uc_discountsOnLoad-processed)", 
    context).addClass("uc_discountsOnLoad-processed").click(function(e) {
      uc_discountsProcessCodes(context, e);
      //Return false to prevent default actions and propogation
      return false;
    });
}

如果在 (function ($) {})(jQuery); 之外定义 uc_discountsOnLoad(e),$('body') 会出错!

4

1 回答 1

0

uc_discountsOnLoad(e)找不到该函数。

  • 检查uc_discounts.js该函数是否确实存在。

  • uc_discounts.js调用函数后加载?(检查您的页面来源)

于 2013-03-11T14:39:49.317 回答