在网上search关于asynchronous函数,我发现许多使用setTimeout来完成这项工作的文章: window.setTimeout(function() { console.log("second"); }, 0); console.log("first"); 输出: first second 这是有效的,但是最好的做法是? 谢谢
有没有Git的Javascript实现? 我想使用HTML5来创build一个丰富的JavaScript应用程序,并有想法,我可以使用git来跟踪数据的变化。 所以,我想知道是否有一个git客户端的JavaScript实现,或者可能通过发出POST请求来控制git存储库的某种方式。
我有文本框<input type='text'>只允许数字字符,并不会让用户input一个点(。)不止一次。 问题是,如果文本框中的文本被选中,用户打算用点来覆盖内容,因此允许! 问题是,你怎么能告诉JavaScript在文本框中的文本是否被选中。 谢谢
我试图通过jQuery从客户端调用服务器端方法。 我的代码如下: 服务器端: using System.Web.Services; [WebMethod()] //[ScriptMethod()] public static void SendMessage(string subject, string message, string messageId, string pupilId) { //Send message } 客户端: $("#btnSendMessage").live("click", function(){ var subject = $("#tbSubject").val(); var message = $("#tbMessage").val(); var messageId = $("#hdnMessageId").val(); var pupilId = $("#hdnPupilId").val(); $.ajax({ type: "POST", url: "./MessagePopup.aspx/SendMessage", data: ("subject=" + subject + "&message=" + message + […]
我正在开发一个将向用户展示调查的应用程序。 标记看起来像这样: <body> <div class="question" id="q1"> Question 1 </div> <div class="question" id="q2"> Question 2 </div> <!– etc –> </body> 我想使用jQuery从DOM构buildJavaScript对象,所以在Survey构造函数中,我使用each()方法遍历jQuery集合。 问题是,在callback函数中,我无法获得对Survey对象的引用,以便将每个Question对象附加到Survey.questions数组。 如何获得对Survey对象的引用? 有没有办法将一个额外的参数(例如对Survey对象的引用)传递给callback函数? function Survey() { this.questions = new Array; $('.question').each(function(i) { (/* Survey object */).questions.push(new Question(this)); }); } function Question(element) { this.element = $(element); }
为什么data-value="2.0"的值被强制转换为String,而data-value="2.5"强制转换为Number? 我可以在我的function内处理这个罚款。 我只是想更多地了解Javascript如何处理数字和string。 这种情况让我措手不及。 <a data-value="2.0">2.0</a> <a data-value="2.5">2.5</a> $("a").click(function() { alert(typeof $(this).data( "value")); }); [小提琴]
我需要用内容types“application / json”做一个jsonp POST请求。 我可以像这样获得POST请求到服务器: jQuery.ajax({ type: 'POST', url: url, data: data, success: success, error: error, async: true, complete: complete, timeout: TIMEOUT, scriptCharset: 'UTF-8', dataType: 'jsonp', jsonp: '_jsonp', }); 但是,只要我添加行: contentType: "application/json"它开始发送它作为一个OPTIONS请求,而不是一个POST。 我如何指定内容types,并仍然提交请求作为POST?
比方说,我有一个父元素,它有很多嵌套的子元素: <div id="p"> <div id="c1"> <div id="c2"></div> <div id="c3"></div> </div id="c4"> <div id="c5"></div> </div> </div> 我已经在父级上绑定了一个click事件: $('#p').bind('click', function() { alert($(this).attr('id')); }); 因为事件被分配给父元素,我总是看到父母的ID,但是,我想知道是否有任何可能的方法来找出哪些这些子元素已被点击? 我也不能将任何事件分配给子元素或从父div中删除事件侦听器。
试图发送json。 这是我的function: var object = … ; $.ajax({ type: 'POST', url: '<url>', contentType: 'application/json; charset=utf-8', dataType: 'json', data: object }); 但是,每当我检查Chrome浏览器,它总是将其作为查询参数发送: Request Payload: startDate=Wed+Dec+19+2012+19%3A00%3A00+GMT-0500+(EST)&endDate=Thu+Dec+20+2012+19%3A00%3A00+GMT-0500+(EST)& 我如何得到它作为JSON发送?
在窗口外拖动时,Firefox不能正确地触发dragleave事件: https://bugzilla.mozilla.org/show_bug.cgi?id=665704 https://bugzilla.mozilla.org/show_bug.cgi?id=656164 我正在尝试为此开发一个解决方法(我知道这是可能的,因为Gmail正在这样做),但我唯一能想出的东西似乎真的很黑。 有一种方法可以知道在窗外拖动时是否等待dragover事件停止发射(因为dragover在拖放操作过程中不断发射)。 以下是我如何做到这一点: var timeout; function dragleaveFunctionality() { // do stuff } function firefoxTimeoutHack() { clearTimeout(timeout); timeout = setTimeout(dragleaveFunctionality, 200); } $(document).on('dragover', firefoxTimeoutHack); 这个代码本质上是一遍又一遍地创build和清除一个超时。 除非dragover事件停止发射,否则将不会达到200毫秒超时。 虽然这有效,但我不喜欢为此使用超时的想法。 感觉不对 这也意味着在“dropzone”造型消失之前还有一点点滞后。 我的另一个想法是检测鼠标何时离开窗口,但是正常的做法似乎在拖放操作中不起作用。 有没有人有更好的方式做到这一点? 更新: 这里是我使用的代码: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Drag and Drop Issue</title> <script src="http://code.jquery.com/jquery.js"></script> </head> <body> Open up the console and […]