Questions tagged «javascript»

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


10
创建一个长度可变的字符串,用重复的字符填充
因此,我的问题已被其他人以下面的Java形式提出:Java-创建一个具有指定长度并填充有特定字符的新String实例。最佳解决方案? 。。。但我正在寻找其JavaScript等效项。 基本上,我想根据每个字段的“ maxlength”属性以“#”字符动态填充文本字段。因此,如果输入具有has maxlength="3",则该字段将用“ ###”填充。 理想情况下,会有类似Java的东西StringUtils.repeat("#", 10);,但是到目前为止,我能想到的最佳选择是一次遍历并附加“#”字符,直到达到最大长度为止。我不禁感到有比这更有效的方法了。 有任何想法吗? 仅供参考-我不能简单地在输入中设置默认值,因为“#”字符需要清晰显示,并且,如果用户未输入值,则需要在模糊时“重新填充”。这是我关注的“补充”步骤
164 javascript  html  string 

9
删除通过绑定添加的事件侦听器
在JavaScript中,删除使用bind()添加为事件侦听器的函数的最佳方法是什么? 例 (function(){ // constructor MyClass = function() { this.myButton = document.getElementById("myButtonID"); this.myButton.addEventListener("click", this.clickListener.bind(this)); }; MyClass.prototype.clickListener = function(event) { console.log(this); // must be MyClass }; // public method MyClass.prototype.disableButton = function() { this.myButton.removeEventListener("click", ___________); }; })(); 我能想到的唯一方法是跟踪添加了bind的每个侦听器。 上面的示例使用此方法: (function(){ // constructor MyClass = function() { this.myButton = document.getElementById("myButtonID"); this.clickListenerBind = …

15
节点和错误:EMFILE,打开的文件太多
几天以来,我一直在寻找错误的可行解决方案 Error: EMFILE, too many open files 似乎很多人都有同样的问题。通常的答案是增加文件描述符的数量。因此,我已经尝试过: sysctl -w kern.maxfiles=20480, 默认值为10240。在我眼中这有点奇怪,因为我正在目录中处理的文件数在10240以下。甚至更陌生的是,在增加文件描述符的数量后,我仍然收到相同的错误。 。 第二个问题: 经过多次搜索,我发现解决了“打开文件太多”的问题: var requestBatches = {}; function batchingReadFile(filename, callback) { // First check to see if there is already a batch if (requestBatches.hasOwnProperty(filename)) { requestBatches[filename].push(callback); return; } // Otherwise start a new one and make a real …


9
如何在父事件上调用子组件上的函数
语境 在Vue 2.0中,文档和其他文档清楚地表明,父母与孩子之间的交流是通过道具进行的。 题 父母如何通过道具告诉孩子发生了什么事? 我应该只看一个叫做活动的道具吗?这感觉不对,也没有其他选择($emit/ $on代表孩子到父母,而中心模型代表远处的元素)。 例 我有一个父容器,它需要告诉其子容器可以在API上执行某些操作。我需要能够触发功能。

4
无效的速记属性初始化程序
我使用JavaScript为节点项目编写了以下代码,但是在测试模块时遇到错误。我不确定错误是什么意思。这是我的代码: var http = require('http'); // makes an http request var makeRequest = function(message) { var options = { host: 'localhost', port = 8080, path : '/', method: 'POST' } // make request and execute function on recieveing response var request = http.request(options, function(response) { response.on('data', function(data) { console.log(data); }); …

22
如何在jQuery中将Title转换为URL段?
我正在使用CodeIgniter中的一个应用程序,并且尝试使表单上的字段动态生成URL段。我想做的是删除标点符号,将其转换为小写字母,并用连字符代替空格。因此,例如,Shane的Rib Shack将成为shanes-rib-shack。 到目前为止,这就是我所拥有的。小写部分很简单,但是替换似乎根本不起作用,而且我也不知道删除标点符号: $("#Restaurant_Name").keyup(function(){ var Text = $(this).val(); Text = Text.toLowerCase(); Text = Text.replace('/\s/g','-'); $("#Restaurant_Slug").val(Text); });
163 javascript  jquery  regex 

9
Javascript-如何检测文档是否已加载(IE 7 / Firefox 3)
我想在文档加载后调用一个函数,但是文档可能尚未加载完成。如果确实加载了,那么我就可以调用该函数。如果未加载,则可以附加事件监听器。在onload已经触发之后,我无法添加事件监听器,因为它不会被调用。那么如何检查文档是否已加载?我尝试了下面的代码,但不能完全正常工作。有任何想法吗? var body = document.getElementsByTagName('BODY')[0]; // CONDITION DOES NOT WORK if (body && body.readyState == 'loaded') { DoStuffFunction(); } else { // CODE BELOW WORKS if (window.addEventListener) { window.addEventListener('load', DoStuffFunction, false); } else { window.attachEvent('onload', DoStuffFunction); } }

4
如何清除函数内部的setInterval?
通常,我将间隔设置为一个变量,然后像清除它一样,var the_int = setInterval(); clearInterval(the_int);但是为了使我的代码正常工作,我将其放在了一个匿名函数中: function intervalTrigger() { setInterval(function() { if (timedCount >= markers.length) { timedCount = 0; } google.maps.event.trigger(markers[timedCount], "click"); timedCount++; }, 5000); }; intervalTrigger(); 我该如何清除?我试了一下,然后尝试var test = intervalTrigger(); clearInterval(test);确定一下,但这没用。 基本上,我需要在单击Google地图后停止触发,例如 google.maps.event.addListener(map, "click", function() { //stop timer });

8
更好地了解JavaScript中的回调函数
我了解将一个函数作为回调传递给另一个函数并让其执行,但我不了解实现此目的的最佳实现。我正在寻找一个非常基本的示例,例如: var myCallBackExample = { myFirstFunction : function( param1, param2, callback ) { // Do something with param1 and param2. if ( arguments.length == 3 ) { // Execute callback function. // What is the "best" way to do this? } }, mySecondFunction : function() { myFirstFunction( false, true, function() …

8
__proto__与Constructor.prototype有何不同?
function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3 var newtoy = new Gadget("webcam", "black") newtoy.constructor.prototype.constructor.prototype.constructor.prototype 它总是返回等级= 3的对象。 但是,如果我执行以下操作: newtoy.__proto__.__proto__.__proto__ 链条最终返回null。 另外,在Internet Explorer中,如果没有__proto__属性,如何检查null ?

4
是否应该将所有jquery事件都绑定到$(document)?
这是哪里来的 当我第一次学习jQuery时,通常会附加如下事件: $('.my-widget a').click(function() { $(this).toggleClass('active'); }); 在学习了更多关于选择器速度和事件委托的知识之后,我在几个地方读到“ jQuery事件委托将使您的代码更快。” 所以我开始写这样的代码: $('.my-widget').on('click','a',function() { $(this).toggleClass('active'); }); 这也是复制不推荐使用的.live()事件的行为的推荐方法。这对我来说很重要,因为我的许多站点始终都在动态添加/删除小部件。上面的行为与.live()并不完全一样,因为只有添加到已经存在的容器'.my-widget'中的元素才能获得该行为。如果在该代码运行后动态添加另一个html块,则这些元素将不会获得绑定到它们的事件。像这样: setTimeout(function() { $('body').append('<div class="my-widget"><a>Click does nothing</a></div>'); }, 1000); 我要实现的目标: .live()的旧行为//表示将事件附加到尚不存在的元素上 .on()的好处 绑定事件的最快性能 管理事件的简单方法 我现在附上所有这样的事件: $(document).on('click.my-widget-namespace', '.my-widget a', function() { $(this).toggleClass('active'); }); 这似乎可以满足我的所有目标。(是的,由于某种原因,它在IE中的运行速度较慢,不知道为什么吗?)之所以快,是因为只有单个事件绑定到单个元素,并且仅在事件发生时才评估辅助选择器(如果此处有误,请更正我)。命名空间很棒,因为它使切换事件监听器更加容易。 我的解决方案/问题 因此,我开始认为jQuery事件应始终绑定到$(document)。 有什么理由为什么您不想这样做? 可以认为这是最佳做法吗?如果没有,为什么? 如果您已阅读了整本书,则谢谢。我感谢任何/所有反馈/见解。 假设: 使用支持.on()//至少1.7版的jQuery 您希望将事件添加到动态添加的内容中 阅读/示例: http://24ways.org/2011/your-jquery-now-with-less-suck http://brandonaaron.net/blog/2010/03/4/event-delegation-with-jquery http://www.jasonbuckboyer.com/playground/speed/speed.html http://api.jquery.com/on/

8
使用Chrome查找JavaScript内存泄漏
我创建了一个非常简单的测试用例,该用例创建了Backbone视图,将处理程序附加到事件,并实例化了用户定义的类。我相信,通过单击此示例中的“删除”按钮,将清除所有内容,并且不会出现内存泄漏。 该代码的jsfiddle在这里:http : //jsfiddle.net/4QhR2/ // scope everything to a function function main() { function MyWrapper() { this.element = null; } MyWrapper.prototype.set = function(elem) { this.element = elem; } MyWrapper.prototype.get = function() { return this.element; } var MyView = Backbone.View.extend({ tagName : "div", id : "view", events : { "click #button" …

13
将参数传递到JavaScript文件
通常,我会想要使用一个JavaScript文件,该文件要求在我的网页中定义某些变量。 所以代码是这样的: <script type="text/javascript" src="file.js"></script> <script type="text/javascript"> var obj1 = "somevalue"; </script> 但是我想做的是: <script type="text/javascript" src="file.js?obj1=somevalue&obj2=someothervalue"></script> 我尝试了不同的方法,最好的方法是解析查询字符串,如下所示: var scriptSrc = document.getElementById("myscript").src.toLowerCase(); 然后搜索我的价值观。 我想知道是否还有另一种方法可以在不构建函数来解析我的字符串的情况下。 你们都知道其他方法吗?

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.