Javascript 从视图加载外部脚本时,加载外部脚本时出现问题
脚本最初位于我的EJS视图中,夹在一些漂亮的脚本标记之间。我将它移动到一个外部文件,最初它根本不起作用,我的点击侦听器什么也没做。然后我将它向下移动到页面底部,就在body标签的正外部,这使得它有时可以工作,当它工作时,速度比以前慢了很多。这是我第一次使用pageinit而不是document.ready,我假设这就是为什么我无法找出我的问题所在。这是代码。谢谢你的帮助Javascript 从视图加载外部脚本时,加载外部脚本时出现问题,javascript,jquery,Javascript,Jquery,脚本最初位于我的EJS视图中,夹在一些漂亮的脚本标记之间。我将它移动到一个外部文件,最初它根本不起作用,我的点击侦听器什么也没做。然后我将它向下移动到页面底部,就在body标签的正外部,这使得它有时可以工作,当它工作时,速度比以前慢了很多。这是我第一次使用pageinit而不是document.ready,我假设这就是为什么我无法找出我的问题所在。这是代码。谢谢你的帮助 var currentList; var elementID; var id; $('#mowingmaster').on(
var currentList;
var elementID;
var id;
$('#mowingmaster').on('pageinit', function (event) {
$('li').each(function (index) {
var elementID = $(this).attr('id');
elementID = '#' + elementID;
$(function () {
$(elementID).click(function (event) {
var elementID = $(this).attr('id');
id = elementID;
elementID = '#' + elementID;
setElementID(id);
$.mobile.changePage("#dailylist");
});
});
});
$("#dailylist").on("pagebeforeshow", function (event, ui) {
$("#testhide").hide()
setCurrentList(elementID);
});
$("#dailylist").on("pageshow", function (event, ui) {
});
});
function setElementID(id) {
id = id;
}
function setCurrentList() {
var currentList = id;
$.ajax({
type: "POST",
url: "/scape/mowinglist",
data: {
currentList: currentList
},
success: function (data) {
}
});
};
这是我第一次使用pageinit而不是document.ready
$('#mowingmaster').on('pageinit', function (event) {
要使其工作,运行该代码段时,元素#mowingmaster
必须已经存在–如果不存在,选择器将不返回任何内容,因此在打开时没有任何内容可以绑定事件
document.ready的使用方式有所不同–您通常使用document.ready在文档准备就绪时开始执行代码,然后将事件绑定到该代码中
请看:
它们将此事件绑定到此处的文档
,并为应该使用的元素提供选择器(#aboutPage
)——这也是您应该使用它的方式。(document
从一开始就“始终”可用,而DOM元素在脚本执行时可能不存在。)好的,这是基于行为的。那么,我使用的所有涉及Jquery的脚本都应该以document.ready开头,这要看情况而定;如果您不需要pageinit提供的“额外”功能,那么您可以继续使用document.ready。但是,您也可以按所示的方式使用pageinit,无论您的脚本嵌入到何处,它都可以工作。
$( document ).on( "pageinit", "#aboutPage", function( event ) {