Tag: JavaScript

当用户点击链接时,如何运行PHP代码?

我想要一个页面运行一些PHP代码,当用户点击一个链接,而不redirect。 这是可能的 <a href=""></a> 或与JavaScript的onclick事件?

$(document).ready()也是CSS准备好了吗?

我有一个脚本在$(document).ready()上执行,它应该在我的布局中垂直alignment块元素。 90%的时间,它的工作没有问题。 然而,额外的10%发生了两件事情之一: 做对中所需的时间有明显的滞后,块单元跳到位。 这可能只是性能相关 – 因为页面大小通常很大,并且有相当数量的javascript一次执行。 居中将完全混乱,块元素将推倒得太远或不够远。 看来好像它试图计算高度,但得到不正确的测量。 是否有任何理由为什么在DOM准备好执行脚本不会有所有正确的CSS值注入DOM呢? (所有的CSS都通过<link>在<head> <link> )。 此外,这是导致问题的脚本(是的,这是直接从这里 ): (function ($) { // VERTICALLY ALIGN FUNCTION $.fn.vAlign = function() { return this.each(function(i) { var ah = $(this).height(); var ph = $(this).parent().height(); var mh = (ph – ah) / 2; $(this).css('margin-top', mh); }); }; })(jQuery); 谢谢。

如何用Javascript终止脚本

我需要一个代码,这将退出js脚本很像PHP'退出'或'死'。 (我知道它不是最好的编程习惯,但我需要它)。

如何在ES2015中编写一个命名的箭头函数?

我有一个函数,我试图转换为ES6中的新的箭头语法。 这是一个命名的function: function sayHello(name) { console.log(name + ' says hello'); } 有没有办法给它一个没有var声明的名字: var sayHello = (name) => { console.log(name + ' says hello'); } 显然,我只能在定义它之后才能使用这个函数。 如下所示: sayHello = (name) => { console.log(name + ' says hello'); } 在ES6中有没有新的方法呢?

如何获得使用JavaScript的特定时区的时间?

我正在使用JavaScriptdate类&试图获取当前date使用getDate()方法。 但显然它是加载系统date和时间。 我正在运行来自印度的代码,但我想用同样的方法得到英国的date和时间。 我怎样才能做到这一点 ?

如何重新加载当前页面而不会丢失任何表单数据?

我可以重新加载当前页面而不会丢失任何表单数据? 我用了.. window.location = window.location.href; 和 window.location.reload(true); 但是这两件事情不能为我提供更早的forms数据。 哪里不对 ? 当手动刷新浏览器时,它是好的(我不会丢失任何表单数据)。 请指导我如何弄清楚。 这是我的完整代码 <div class="form-actions"> <form> <table cellpadding = "5" cellspacing ="10"> <tr class="control-group"> <td style="width: 100px;"> <div>Name:&nbsp;<font color="red">(*)</font></div> </td> <td> <input type="text" id="inputName" placeholder="Name" required> </td> </tr> <tr class="control-group"> <td> <div>Email:&nbsp;<font color="red">(*)</font></div> </td> <td> <input class="span3" placeholder="user@gmail.com" id= "inputEmail" type="email" required> </td> </tr> <tr […]

为什么用setAttribute设置的onclick属性在IE中失败?

今天就遇到这个问题,张贴以防别人有同样的问题。 var execBtn = document.createElement('input'); execBtn.setAttribute("type", "button"); execBtn.setAttribute("id", "execBtn"); execBtn.setAttribute("value", "Execute"); execBtn.setAttribute("onclick", "runCommand();"); 原来让IE在dynamic生成的元素上运行onclick,我们不能使用setAttribute。 相反,我们需要用包装我们想要运行的代码的匿名函数来设置对象上的onclick属性。 execBtn.onclick = function() { runCommand() }; 不好的想法: 你可以做 execBtn.setAttribute("onclick", function() { runCommand() }); 但根据@scunliffe,它将在非标准模式下在IE中被破解。 你根本无法做到这一点 execBtn.setAttribute("onclick", runCommand() ); 因为它立即执行,并将runCommand()的结果设置为onClick属性值,您也不能这样做 execBtn.setAttribute("onclick", runCommand);

如何使用jQuery承诺链接三个asynchronous调用?

我有三个需要我需要以同步方式进行的HTTP调用,以及如何将数据从一个调用传递给另一个? function first() { ajax() } function second() { ajax() } function third() { ajax() } function main() { first().then(second).then(third) } 我试图使用延迟的两个function,我想出了一个部分的解决scheme。 我可以扩展它为三个function? function first() { var deferred = $.Deferred(); $.ajax({ "success": function (resp) { deferred.resolve(resp); }, }); return deferred.promise(); } function second(foo) { $.ajax({ "success": function (resp) { }, "error": function (resp) { } […]

将具有循环引用的JavaScript对象string化(转换为JSON)

我有一个包含循环引用的JavaScript对象定义:它有一个引用父对象的属性。 它也有我不想传递给服务器的function。 我将如何序列化和反序列化这些对象? 我读过最好的方法是使用Douglas Crockford的stringify。 不过,我在Chrome中收到以下错误: TypeError: Converting circular structure to JSON 代码: function finger(xid, xparent){ this.id = xid; this.xparent; //other attributes } function arm(xid, xparent){ this.id = xid; this.parent = xparent; this.fingers = []; //other attributes this.moveArm = function() { //moveArm function details – not included in this testcase alert("moveArm Executed"); } } function […]

在JavaScript中设置请求标头

看来,我无法使用XMLHttpRequest进行AJAX调用时从JavaScript更改大多数请求标头。 请注意, request.setRequestHeader必须在Gecko浏览器中的request.open()之后调用(请参阅http://ajaxpatterns.org/Talk:XMLHttpRequest_Call )。 当我设置Referer时 ,它没有被设置(我查看了使用Firebug和Tamper Data发送的请求头)。 当我设置用户代理 ,它完全搞砸了AJAX调用。 然而,设置Accept和Content-Type确实有效。 我们是否阻止在Firefox 3中设置Referer和User-Agent ? var request = new XMLHttpRequest(); var path="http://www.yahoo.com"; request.onreadystatechange=state_change; request.open("GET", path, true); request.setRequestHeader("Referer", "http://www.google.com"); //request.setRequestHeader("User-Agent", "Mozilla/5.0"); request.setRequestHeader("Accept","text/plain"); request.setRequestHeader("Content-Type","text/plain"); request.send(null); function state_change() { if (request.readyState==4) {// 4 = "loaded" if (request.status==200) {// 200 = OK // …our code here… alert('ok'); } else { alert("Problem […]