$(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
$(document).ready and jQuery(function($) not working; jQuery is defined, but script isn't entering .ready function
编辑:
这是完整的HTML。太长了,我不能直接粘贴在这里。我没有创建这个页面,我只需要清理它的问题。
我正试图从$(document).ready内部运行一个函数,因为我需要在函数运行之前完成DOM的加载,因为我正在绑定按钮。这就是我在脚本中的内容:
jQuery(function($) {
alert('foo');
SI.regionSelector.init();
});
我也试过:
$(document).ready(function(){
alert('foo');
SI.regionSelecter.init();
});
但警报从未发生过。我已经完成了Chrome中的调试器。我点击jQuery(函数($),我没有得到任何错误(事实上控制台显示了jQuery的定义,所以我知道我的页面上有jQuery),然后调试器跳到jQuery函数的末尾,但它根本不会进入警报。
以下是完整的脚本:
var SI = SI || {};
SI.regionSelector = {
settings: {},
regions: [],
init: function() {
jQuery('a').click(function(e){ e.preventDefault(); });
// Start the DOMSelection tool when a region is clicked
jQuery('#region-selector .region').click(function(){
targetRegion = jQuery(this);
SetupDOMSelection();
});
// When saving, pull the values stored by the DOMSelection tool
// and stuff them into hidden fields so they can be picked up on
// the back end.
jQuery('#region-selector .save').click(function(){
jQuery('#site_ingestor_region_selector .btn.region').each(function(){
var values = {};
values.innerHTML = jQuery(this).data('innerHTML');
values.xpath = jQuery(this).data('xpath');
var id = jQuery(this).attr('id');
var $hiddenInput = jQuery('input[name="'+id.replace('btn', 'form-region')+'"]');
$hiddenInput.val(JSON.stringify(values));
});
});
jQuery('.btn.edit').click(function() {
jQuery('#site_ingestor_html_editor').css('display', 'block');
jQuery('body').css('overflow', 'hidden');
window.scrollTo(0, 0);
});
jQuery('.btn.cancel').click(function() {
jQuery('#site_ingestor_html_editor').css('display', 'none');
jQuery('body').css('overflow', 'scroll');
});
}
};
jQuery(function($) {
alert('foo');
SI.regionSelector.init();
});
我要检查的一些东西:
- 确保在脚本之前引用jquery.js库
- 确保您的
$
(或jQuery
,取决于您使用的内容)不会与任何其他库冲突 - 在浏览器的JS控制台中检查其他JS错误(或其他消息)
我还会运行一个完整的标记页验证(可能会修剪一些标记以降低复杂性),看看是否存在一些明显的HTML错误,比如缺少结束正文标记或类似的东西。
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 导入jQuery脚本获胜'我不处理html文件
- 用于发现哪个JS/jQuery脚本正在冻结页面的工具或技术
- JQuery脚本在IE中不起作用
- 自定义jQuery脚本无法在Wordpress上运行
- jQuery脚本在googlechrome中不起作用
- 重新启动jquery脚本后,角度停止工作
- 一个简单的粘性头jQuery脚本的问题
- 如何让C#代码在页面加载时运行的jquery脚本之后运行
- 为什么我用于检查所需输入字段的jQuery脚本如此缓慢
- MVC5更改jquery脚本中的图像src
- Jquery脚本未在运行时加载编辑:意外的令牌
- 用于wooccommerce的简单JQuery脚本不起作用
- JQuery脚本没有'Don’我不能工作两次
- 在jQuery脚本中放置15秒的延迟
- jquery脚本只能在一个方向上正常工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 如果视图中没有Jquery脚本引用,Unobtrusive Javascript Validation是不起作用的
- 让两个 jquery 脚本像它们应该的那样协同工作
- 如何在 Django Form 中使用 Jquery 脚本的值