-1

所以我有了这个,它正在工作,一切都很好。然后我尝试对此进行更改但一切都出错了。我是否以错误的方式定义功能?抱歉,我是 JS 和 jQ 的新手(虽然我假设这只是基本的 javascript 而不是任何与 jQuery 相关的东西)

编辑:另外, MAILTO: href 不起作用吗?我试过了,但没有收到电子邮件......无论如何,谢谢!

4

3 回答 3

4

你应该改变这些:

$("#name").focusout(checkName());

$("#name").focusout(checkName);

您想将函数本身分配为focusout处理程序,但您将函数返回的任何内容分配为处理程序。

此外,mailto:URL 方案不发送电子邮件。它在访问者的机器上打开任何本地邮件客户端被定义为该方案的处理程序,并开始编写发往 URL 中地址的新消息。

于 2012-09-20T10:13:41.947 回答
2

传递函数名,而不是函数执行的结果。

$("#name").focusout(checkName);
$("#pass").focusout(checkPass);
$("#pass2").focusout(checkPass2);
于 2012-09-20T10:13:57.080 回答
2

var在你的函数名前面添加(不是完全必要的,但可以阻止它们是全局的):

var checkName = function(){

然后将它们传递给没有 () 的事件绑定函数,因为它正在运行函数并传递结果,而不是传递实际函数本身:

$("#name").focusout(checkName);

这应该可以解决问题。

http://jsfiddle.net/infernalbadger/Hxnv5/6/

此外,mailto: 链接工作正常。它应该打开您的默认电子邮件客户端。

于 2012-09-20T10:15:36.747 回答