编辑:
Here is the full 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();
});
答案 0 :(得分:1)
我会检查一些事情:
$
(或jQuery
,取决于您使用的内容)与其他任何库不冲突我还会运行一个完整的Markup page validation(可能修剪一些标记以降低复杂性),看看是否存在一些明显的HTML错误,比如缺少关闭体标记或类似的东西。