我有,我已经使用了Opencart的项目$('#some-id'),以及jQuery('#some-id')正在工作完美,但是升级项目从1.5到2.1后,其只接受jQuery('#some-id')和投掷错误$('#some-id')的
TypeError:$(...)为null
以下是我的一百个样本ajax函数之一.
$('#button-coupon').on('click', function() {
$.ajax({
url: 'index.php?route=total/coupon/coupon',
type: 'post',
/*Here $ is not working jQuery works. Not just here, but in each line where $ is used its throwing error, untill & unless I replace it with jQuery.*/
data: 'coupon=' + encodeURIComponent($('input[name=\'coupon\']').val()),
dataType: 'json',
success: function(json) {
$('.alert').remove();
}
});
});
Run Code Online (Sandbox Code Playgroud)
有没有办法让他们两个都工作.我不想浪费时间用jQuery替换$?
以下是firebug控制台中的错误快照.

如果我更改$('input[name=\'coupon\']')为jQuery('input[name=\'coupon\']')移动到使用$的其他行.例如见下图.
我试图使用最新版本和旧版本的jQuery,但我的问题仍然存在.
由于您没有包含有关代码的任何信息,这只是一般提示,但可能值得您深入研究:
当尝试防止不同 JS 框架和库(全部使用$快捷方式)之间的冲突时,通常所做的就是以这种方式封装您自己的库或模块:
jQuery.noConflict();
(function($) {
// your library or modules here
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这样,jQuery当定义立即“自调用”本身时,标识符只需在您自己的代码之外指定一次。在该块内,jQuery 库现在$再次在快捷方式下被识别,但它不再与该代码块之外该快捷方式的其他用法发生冲突。
这是有关该主题的提示的汇编: https://api.jquery.com/jquery.noconflict/
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |