Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。


6
Google Map API v3-设置范围和中心
我最近切换到了Google Maps API V3。我正在研究一个从数组绘制标记的简单示例,但是我不知道如何相对于标记自动居中和缩放。 我已经搜索了包括谷歌自己的文档在内的最高和最低值,但没有找到明确的答案。我知道我可以简单地取坐标的平均值,但是如何设置缩放比例呢? function initialize() { var myOptions = { zoom: 10, center: new google.maps.LatLng(-33.9, 151.2), mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions); setMarkers(map, beaches); } var beaches = [ ['Bondi Beach', -33.890542, 151.274856, 4], ['Coogee Beach', -33.423036, 151.259052, 5], ['Cronulla Beach', -34.028249, 121.157507, 3], ['Manly Beach', …

13
如何引用加载了当前正在执行的脚本的脚本标签?
如何引用加载了当前正在运行的javascript的脚本元素? 这是情况。我有一个“主”脚本被加载到页面的上方,这是HEAD标记下的第一件事。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script type="text/javascript" src="scripts.js"></script> “ scripts.js”中有一个脚本,该脚本需要能够按需加载其他脚本。普通方法对我来说不太有效,因为我需要添加新脚本而不引用HEAD标签,因为HEAD元素尚未完成渲染: document.getElementsByTagName('head')[0].appendChild(v); 我想做的是引用加载了当前脚本的script元素,以便随后可以将新的动态加载的脚本标签附加到DOM之后。 <script type="text/javascript" src="scripts.js"></script> loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script> loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>

19
获取转义的URL参数
我正在寻找一个可以获取URL参数并支持此搜索字符串而不输出JavaScript错误的jQuery插件:“格式错误的URI序列”。如果没有支持此功能的jQuery插件,我需要知道如何对其进行修改以支持此功能。 ?search=%E6%F8%E5 解码时,URL参数的值应为: æøå (字符是挪威语)。 我无权访问服务器,因此无法对其进行任何修改。

8
使用jQuery更改元素的ID
我需要使用jQuery更改元素的ID。 显然这些不起作用: jQuery(this).prev("li").attr("id")="newid" jQuery(this).prev("li")="newid" 我发现可以通过以下代码实现它: jQuery(this).prev("li")show(function() { this.id="newid"; }); 但这对我来说似乎不对。必须有更好的方法,不是吗?另外,如果没有,我可以使用什么其他方法代替显示/隐藏或其他效果?显然,我不想每次都仅显示/隐藏或影响元素,而只是更改其ID。 (是的,我是jQuery新手。) 编辑 在这种情况下,我不能使用类,我必须使用ID。
302 javascript  jquery 


12
防止RequireJS缓存所需的脚本
RequireJS似乎在内部做了一些缓存所需的javascript文件的操作。如果对所需文件之一进行更改,则必须重命名该文件才能应用更改。 将版本号作为查询字符串参数附加到文件名末尾的常见技巧不适用于requirejs <script src="jsfile.js?v2"></script> 我正在寻找的是一种防止对RequireJS必需脚本进行内部缓存的方法,而无需在每次更新脚本文件时都对其重命名。 跨平台解决方案: 现在,我用于urlArgs: "bust=" + (new Date()).getTime()开发和urlArgs: "bust=v2"生产期间的自动缓存清除,在部署更新的必需脚本后,我增加了硬编码版本num。 注意: @Dustin Getz在最近的回答中提到,当像这样不断刷新Javascript文件时,Chrome开发者工具会在调试过程中删除断点。一种解决方法是debugger;在大多数Javascript调试器中编写代码以触发断点。 服务器特定的解决方案: 有关可能更适合您的服务器环境(例如Node或Apache)的特定解决方案,请参阅以下一些答案。



14
为什么返回生成的HTML而不是JSON是一种不好的做法?还是?
使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用过这种方法很多次,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载要少得多吗? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上更紧凑。 错误更少,因为您得到的只是标记,而且没有代码。 在大多数情况下,编程将更快,因为您不必为客户端单独编写代码。 您站在哪一边?为什么?
301 javascript  jquery  html  ajax  json 


5
Node对象和Element对象之间的区别?
我对Node对象和Element对象完全感到困惑。 document.getElementById()返回Element对象,同时document.getElementsByClassName() 返回NodeList对象(元素或节点的集合?) 如果div是元素对象,那么div节点对象呢? 什么是节点对象? 文档对象,元素对象和文本对象也是节点对象吗? 根据David Flanagan的书“文档对象,其元素对象和文本对象都是Node对象”。 那么,一个对象如何能够继承Element对象以及Node对象的属性/方法呢? 如果是,我猜想节点类和元素类在原型继承树中是相关的。 <div id="test"> <p class="para"> 123 </p> <p class="para"> abc </p> </div> <p id="id_para"> next </p> document.documentElement.toString(); // [object HTMLHtmlElement] var div = document.getElementById("test"); div.toString(); // [object HTMLDivElement] var p1 = document.getElementById("id_para"); p1.toString(); // [object HTMLParagraphElement] var p2 = document.getElementsByClassName("para"); p2.toString(); …
301 javascript  html  dom 


30
悬停子元素时触发HTML5 dragleave
我遇到的问题是,dragleave悬停该元素的子元素时会触发该元素的事件。另外,dragenter在再次将父元素悬停时不会触发。 我做了一个简化的提琴:http : //jsfiddle.net/pimvdb/HU6Mk/1/。 HTML: <div id="drag" draggable="true">drag me</div> <hr> <div id="drop"> drop here <p>child</p> parent </div> 使用以下JavaScript: $('#drop').bind({ dragenter: function() { $(this).addClass('red'); }, dragleave: function() { $(this).removeClass('red'); } }); $('#drag').bind({ dragstart: function(e) { e.allowedEffect = "copy"; e.setData("text/plain", "test"); } }); 应该做的是div在拖曳某物时通过将其下拉为红色来通知用户。这可行,但是如果您拖入p孩子,则将dragleave被发射,而div不再是红色。返回到下拉列表div也不会再次使其变为红色。有必要将其完全移出下拉菜单div,然后再次拖回下拉菜单以使其变为红色。 dragleave拖动到子元素中时是否可以防止触发? 2017更新: TL; DR,pointer-events: none;按照下面@HD的回答中所述查找CSS ,该CSS 在现代浏览器和IE11中均有效。

11
我可以直接从GitHub运行HTML文件,而不仅仅是查看其源代码吗?
如果我.html在GitHub存储库中有一个文件(例如,用于运行一组JavaScript测试),我是否可以通过任何方式直接查看该页面,从而运行测试? 例如,我是否能以某种方式实际看到jQuery测试套件所产生的测试结果,而无需将存储库下载或克隆到本地驱动器并在其中运行呢? 我知道这基本上会将GitHub置于静态内容托管业务中,但话又说回来,他们只需要将其mime类型从更改为text/plain即可text/html。
300 javascript  html  github 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.