2012-09-20 4 views
-1

그래서 this이 있었는데 작동 중이었고 모두 좋았습니다. 그런 다음 this으로 변경하려고 시도했지만 모두 잘못되었습니다. 함수를 잘못된 방식으로 정의하고 있습니까? 죄송합니다. JS & jQ를 처음 사용합니다 (비록 jQuery와 관련된 기본 자바 스크립트라고 가정하고 있지만)javascript/jQuery에서 함수 정의하기

편집 : MAILTO : href가 작동하지 않습니까? 나는 그것을 시도하고 이메일을받지 못했다 ... 어쨌든, 고마워!

+0

"this"와 "this"가 무엇인지 더 자세히 설명하기 위해 질문을 다시 말하십시오. – skunkfrukt

+0

색 구성표가 인상적입니다 : | –

+0

당신은 exactyl이 작동하지 않는다고 말하지 않았습니다. 먼저 디버거 콘솔에서 출력 오류를 확인하십시오. 바이올린의 JSLINT 버튼을 사용하여 코드를 확인할 수도 있습니다. 그 후에 변경 사항을 되돌리고 그것을 하나씩 적용하십시오. 또는 새 코드에'console.log()'를 추가하여 선택자, 변수 및 새로운 코드를 손상시킬 수있는 모든 것을 검사하십시오. 확실한 오류가있는 경우 블랭킹 된 요청 대신 "귀하의 질문에 답할 수 있습니까?"라는 문구를 다시 말하십시오. – Nope

답변

4

이러한 변경해야합니다 :

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

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

에 당신은 focusout 핸들러로 에게 함수 자체를 지정하려면, 대신 당신은 함수가를 반환 어떤 할당하고 핸들러로서.

또한 mailto: URL 스키마는 이메일을 보내지 않습니다. 방문자 컴퓨터에서이 구성표에 대한 처리기로 정의 된 로컬 메일 클라이언트를 열어 URL의 주소로 주소가 지정된 새 메시지의 구성을 시작합니다.

+2

오 세상에, 나는 바보입니다. 감사! –

2

실행 된 함수의 결과가 아닌 함수 이름을 전달하십시오.

$("#name").focusout(checkName); 
$("#pass").focusout(checkPass); 
$("#pass2").focusout(checkPass2); 
+0

lanzz의 대답과 마찬가지로, 감사합니다! :디 –

2

함수 이름의 var 뿅 추가 (완전히 필요하지 있지만 글로벌 인 중지) :

var checkName = function(){ 

를 그리고이 같은()가 실행중인없이 기능을 바인딩 이벤트에 전달 함수를 호출하고 실제 함수 자체를 전달하지 않고 결과를 전달하는 것입니다.

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

이렇게하면 문제가 해결됩니다.

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

또한, MAILTO : 링크가 잘 작동합니다. 그것은 귀하의 기본 이메일 클라이언트를 열어야합니다.

관련 문제