2

ログイン リンクをクリックしたときにアラートを有効にしようとしていますが、驚くべきことに何も起こりません。ここで助けが必要です。

ログインリンクがクリックされたときにアラートがポップアップするようにしたいのですが、驚くべきことに何も起こりません。ありがとう、ミック

<!DOCTYPE html>
<html>
<head>
<title>Facebook Client-side Authentication Example</title>
<script src="jquery.js" type="text/javascript"></script>

</head>
<body>

<div id="fb-root"></div>
<script type="text/javascript">
    // want Alert to popup when I click on auth-loginlink
$("#auth-loginlink").on("click",function () {
  alert("hi hello");
});
// ultimately I would like this to be binded with login and logout link
$("#auth-logoutlink").on("click", bindLogout);

function bindLogin(event){
alert("hello");
//FB.login();
};

function bindLogout(event){
alert("Out !!!");
//FB.logout();
};      

</script>
<h1>Facebook Client-side Authentication Example</h1>
    <div id="auth-status">
    <div id="auth-loggedout">
        <a href="#" id="auth-loginlink">Login</a>
    </div>
    <div id="auth-loggedin" style="display:none">
        Hi, <span id="auth-displayname"></span>  
        (<a href="#" id="auth-logoutlink">logout</a>)
    </div>
    </div>
</body>
</html>
4

4 に答える 4

3

要素がページに読み込まれる前に、コードが実行されます。

これは、スクリプトが HTML の要素の上にあるために発生します。

DOM の準備ができたら、スクリプトをページの下部に移動するか、より堅牢な方法でスクリプトを呼び出す必要があります。

jQuery はまさにそのためのメソッドを提供します。

$(document).ready(function(){
 // your code in here will be called after the DOM is ready
});

またはの短いバージョン

$(function(){
     // your code in here will be called after the DOM is ready
});

http://api.jquery.com/ready/のドキュメント

于 2012-11-17T11:44:01.993 に答える
0

以下を使用する必要があります。

$(function() {
  //Your code here
})

ページの読み込み後にコードが実行されるためです。

于 2012-11-17T11:40:45.243 に答える
0

JQuery のすべてが内部にある必要があります

$(document).ready(function() {
});

関数定義を除く。それ以外の場合は、まだ存在しないものにハンドラーを登録しようとしています。

于 2012-11-17T11:41:29.340 に答える
0

問題は、関数が<script>タグにバインドされていないことです。ドキュメントの準備ができたら、JQuery 関数が結合されていることを確認してください。次の構成を使用します。

 $(document).ready(function(){
//Add your functions here. 
//Use the JQuery-Factory-function to construct JQuery-Objects, encapsulating the tag:

$(SELECTOR).click(YOURFUNCTION);

 });

より強力なアプローチは、「JQuery-Add-On-Code」を使用して新しい JS ファイルを作成することです。

(function($){
$(document).ready(function(){

//Your own JQuery-Code
});
})(jQuery);
于 2012-11-17T11:56:43.007 に答える