Tag: 全局

Javascript全局变量不能正常工作?

我的jQuery代码: $(document).ready(function() { chrome.extension.sendRequest({get: “height”}, function(response) { height = response.value; }); $(“#id”).css(“height”, height+”px”); }); 您不必担心chrome.extension.sendRequest() ,基本上它与后台页面通信以从localStorage获取“height”的值并将值存储在全局变量height 。 问题在于$(“#id”)未被赋予高度值。 但是,如果我要修改它,现在它是: $(document).click(function() { $(“#id”).css(“height”, height+”px”); }); 有用。 知道为什么吗?

jQuery / Javascript:在函数中定义一个全局变量?

我有这个代码: var one; $(“#ma1”).click(function() { var one = 1; }) $(“body”).click(function() { $(‘#status’).html(“This is ‘one’: “+one); }) 当我点击身体时,它说:这是’一个’:未定义。 如何定义要在另一个函数中使用的全局变量?

如果用户在页面加载完成之前离开页面,则会触发jQuery ajaxError()处理程序

我们使用jQuery的全局ajaxError()处理程序来警告用户任何AJAX失败: $(document).ajaxError(function() { $(“There was a network or server error. Please try again later.”).dialog({ title: “Error”, modal: true, resizable: false, buttons: { ‘Ok’: function() { (this).dialog(“close”); } } }); }); 不幸的是,如果用户在完成加载之前离开页面,也会触发此全局error handling程序。 以下是重现错误的步骤: 用户访问页面A,其中包含通过AJAX加载的元素。 页面A上的AJAX元素开始加载。 在页面A上的AJAX元素完成加载之前,用户单击链接以访问页面B. 在浏览器重定向到页面B之前,会短暂显示错误对话框。 知道如何在访问新页面的用户直接导致错误时触发ajaxError()吗? 更新:这里是我的代码,在结合评论中的建议后: // I added a 3 second delay to our error dialog, enough time // for the […]

为什么“事件”在Chrome中全球可用,而不是FF?

在处理另一个问题的答案时,出现了一个奇怪的错误,该错误与匿名函数中可用的event对象相关而没有被传入。在Chrome中,下面的工作正常,但FF会抛出错误。 $(document).ready(function() { $(“#uspsSideboxTrackingClose”).click(function() { event.preventDefault(); console.log(event); }); }); 铬: 火狐: ReferenceError:未定义事件 众所周知 $(“#uspsSideboxTrackingClose”).click(function(event) { .. } 适用于两种浏览器。 这是违规代码。 这是Chrome或FF的错误,还是两种浏览器的预期行为? 哪个浏览器是对的?