Пользовательские функции jQuery - PullRequest
0 голосов
/ 12 октября 2011

Я пытаюсь понять, как написать пользовательские функции в jquery.

У меня есть этот код:

<head>
.
.
<script src="js/jquery.js"></script>
<script>
     $(document).ready(function(){
       $("createaccountbtn").click(function(e){            
            e.preventDefault();
            alertMe();
       });
     });

     (function( $ ) {
        $.fn.alertMe = function() {
          alert("hello world!");
        };
     })( jQuery );
</script>
</head>

<body>
<h1>Create Account</h1>
<div id = "wrapper">
<form name = "createaccountform" action = "php/createaccount.php" method = "post">
<p>First Name<input name = "fName" type="text" size="25"/><label id ="fNameStatus"></label></p>

<p>Last Name<input name = "lName" type="text" size="25"/><label id ="lNameStatus"></label></p>

<p>E-mail<input name = "email" type="text" size="25"/><label id ="emailStatus"></label></p>

<p>Confirm E-mail<input name = "email" type="text" size="25"/><label id ="emailStatus"></label></p>

<p>Password<input name = "pass" type="text" size="25"/><label id ="passwordStatus"></label></p>

<p>Confirm Password<input name = "cpass" type="text" size="25"/><id name ="cpasswordStatus"></label></p>

<p><input id = "createaccountbtn" type ="button" value="Create Account"/></p>
</form>
</div>
</body>

Я пытаюсь выполнить пользовательскую функцию, когда пользователь нажимает "Создать учетную запись ", но я не могу заставить его работать.Есть идеи, что случилось?

Ответы [ 3 ]

4 голосов
/ 12 октября 2011

Этот код:

(function( $ ) {
    $.fn.alertMe = function() {
      alert("hello world!");
    };
})( jQuery );

добавляет функцию с именем alertMe в прототип jQuery, что позволит вам вызвать $("div").alertMe();

Чтобы вызвать его как есть, просто объявите обычную функцию:

function alertMe () {
    alert("hello world!");
}

Кроме того, $("createaccountbtn") не является допустимым селектором, так как он попытается выбрать что-нибудь с tagName createaccountbtn - обязательно добавьте к нему #.

2 голосов
/ 12 октября 2011

Разве не проще, если ...

$(document).ready(function(e){
e.preventDefault();
$("#createaccountbtn").click(function(){            
alertMe();
});

function alertMe(){
alert('Hello World');
}
});
0 голосов
/ 12 октября 2011

Сценарий должен быть обновлен следующим образом -

<script>
 $(document).ready(function(){
   $("#createaccountbtn").click(function(e){            
        e.preventDefault();

        alertMe();
   });
 }


 );

 function alertMe()
 {
 alert("hello world!");
 }

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...