草庐IT

Window编程

全部标签

javascript - google.maps.event.addDomListener(window, 'load' , initialize); 的作用是什么?

我正在尝试使用Googlemap。我找到了这个声明。google.maps.event.addDomListener(window,'load',initialize);该语句的作用是什么? 最佳答案 它向window对象添加一个监听器,一旦触发load事件(即“页面已完成加载”),它就会执行函数初始化。即它会延迟与Googlemap相关的脚本,直到页面加载完成。 关于javascript-google.maps.event.addDomListener(window,'load',in

javascript - 以编程方式更改 body.style.overflowY 或 X

我正在尝试通过JavaScript函数将正文overflowY更改为"hidden"。我已经尝试了以下两种方法:document.body.style['overflow-y']='hidden';document.body.style.overflowY="hidden";在这两种情况下它都不起作用。然而,在这两种情况下,仅使用不带X或Y的overflow都可以正常工作!有没有办法只改变overflowY或overflowX属性? 最佳答案 这两种情况都应该适用于所有当前的浏览器。我刚刚测试了Firefox4、Chrome11和I

javascript - 是否已触发 window.onload 事件

我有一个小的javascript实用程序,它可以预加载、延迟加载或按需加载。当它启动时,它会向DOM添加一些内容。它是低优先级的,如果它是预加载的,它可以在运行之前等待onload事件触发,但如果它是延迟加载的,它可以继续并立即运行。目前,它正在检查页脚元素的ID是否存在,以确定是否应该将事件监听器添加到窗口onload事件或只是运行。例如if(document.getElementById("footer")){Init()}else{if(window.addEventListener){...}elseif(window.attachEvent){...}}虽然目前有效,但这显然

javascript - 为什么不绘制以编程方式插入的 SVG <tspan> 元素,d3.js 除外?

假设我想以编程方式插入额外的在以下SVG中的元素:onetwothree除其他外,这可以通过纯JavaScript(.appendChild)、jQuery(.append)和d3.js(.append)来完成。然而,尽管这三种方法都成功地插入了元素,但我似乎只能在d3.js插入元素时才能实际显示:请参阅此fiddle中的简化大小写:http://jsfiddle.net/2NLJY/.该行为在我测试过的浏览器中是一致的:Firefox、Chrome和Safari(所有OSX10.8)。这是怎么回事? 最佳答案 您不能使用creat

javascript - Safari 忽略 window.matchMedia

我有条件地使用window.matchMedia以避免在移动设备中注入(inject)视频。CanIUse报告说matchMedia自Safari9以来将顺利运行(我正在对其进行测试),但我的代码完全被忽略了:if(window.matchMedia("(min-width:1025px").matches){console.log('match');document.addEventListener("DOMContentLoaded",function(){initialiseMediaPlayer();},false);functioninitialiseMediaPlayer(

javascript - IE7 中的 window.location.hash 问题

我们有一个javascript函数,可以使用anchor将页面“移动”到特定位置。此函数只是执行window.location.href="#"+hashName。这适用于FF,但不适用于IE。我在WindowsXP下使用IE7测试了这段代码。我已经尝试过usingwindow.location.href、window.location.hash、window.location.replace和所有这些方法,但使用文档对象。有谁知道如何处理这个问题? 最佳答案 IE和大多数其他浏览器将使用anchor.focus()滚动到一个anc

javascript - 如何以编程方式在 CKEDITOR 中选择文本范围?

问题:我的JavaScript中有一个CKEditor实例:vareditor=CKEDITOR.instances["id_corpo"];我需要以编程方式插入一些文本,然后选择一些文本范围。我已经插入文本了editor.insertHtml('Thisisafoobarheader');但我需要通过javascript以编程方式选择(突出显示)单词“foobar”,以便我可以使用selenium通过我的CKEditor插件进行一些功能测试。更新1:我也试过类似的东西varselection=editor.getSelection();varchilds=editor.documen

javascript - requestAnimationFrame 范围更改为 window

我有一个看起来像这样的对象链:Game.world.update()我想使用requestAnimationFrame来确定此函数的帧率。但是当我这样实现时:World.prototype.update=function(){requestAnimationFrame(this.update);}范围从世界对象变为窗口对象。如何在调用requestAnimationFrame()时保持我想要的范围?我知道它与匿名函数等有关,但我无法理解它。 最佳答案 常规方法,无处不在:World.prototype.update=function

javascript - 如何以编程方式设置 Angular 2 表单控件值?

如何从代码更改Angular2控件?当我这样做时:control.value="newvalue";我收到以下错误:TypeError:Cannotsetpropertyvalueof#whichhasonlyagetter 最佳答案 您可以使用updateValue方法:control.updateValue("newvalue");更新:您现在可以使用setValue:control.setValue("newvalue"); 关于javascript-如何以编程方式设置Angula

javascript - 扁平化深层嵌套的 ajax 回调的编程模式?

我继承了JavaScript代码,其中Ajax处理程序的成功回调启动另一个Ajax调用,其中成功回调可能会也可能不会启动另一个Ajax调用。这导致了深度嵌套的匿名函数。也许有一种聪明的编程模式可以避免深度嵌套并且更干。此外,还有在整个函数中使用的内部变量myVar1和myVar2的问题。jQuery.extend(Application.Model.prototype,{process:function(){varmyVar1;//processingusingmyVar1;jQuery.ajax({url:myurl1,dataType:'json',success:function