2011-10-27 11 views
3

これはちょっと混乱しています。 最初にいくつかの背景:JQueryのキーアップイベントが外部のjsファイルで機能しない

私はhtmlファイルを作成しました(実際にはPHPファイルでしたが、PHPはフォーム検証のためのものでした)。私はいくつかの検証を行うために、使用された。すべてがうまくいきました。私はサイトの他の部分でこのコードを使用する可能性があると判断したので、コードを保持する外部のjsファイルを使いこなすようになりました。元のHTMLコード内

<script type="text/javascript"> 
    $(document).ready(function(){ 
     if($("#userN").val() == ""){ 
      $("#testUserName").html(""); 
     }else{ 
      ajax_search(); 
     } 
     $("#userN").focusout(function(){ 
      ajax_search(); 
     }); 
      $("#userN").keyup(function(){ 
     ajax_search(); 
     }); 
    }); 
</script> 

ajax_search()だけuserN入力フィールドにテキストを使用してデータをテストするためのPHPファイルへのリクエストを送信します。

私はそれをajax_search()関数をtest.jsファイルにコピーしました。まず、jquery.jsファイルが最初に呼び出されたことを確認してから、そのコードを含むtest.jsファイルを呼び出しました。

奇妙なことは、test2はなく、focusoutまたはkeyUpイベントと別のポップアップが機能しませんTEST1とポップアップが表示されます

$(document).ready(function(){ 
    alert("test1"); 
    if($("#userN").val() == ""){ 
     $("#testUserName").html(""); 
    }else{ 
     ajax_search(); 
    } 
    $("#userN").focusout(function(){ 
     ajax_search(); 
    }); 
     $("#userN").keyup(function(){ 
    ajax_search(); 
    }); 
    alert("test2"); 
}); 

そのコードを実行します.ready $(文書)です。

私はすべてのコードをhtmlファイルからajax_search関数を除いたものに戻すまで、何もしなかった。それは私が望んだものですが、なぜイベントがうまくいかないのかわかりません。私は何か間違っていたのですか?このようにすることはできませんか?

+0

ここで 'ajax_search()'関数はどこに定義されていますか?あなたが 'ajax_search()'を宣言する前に 'test.js' *を含めることが可能です。 – Clive

+0

$(document).ready()からajax_search()を実行した場合、test.jsファイル内にありました。 );キーアップが機能していなかったとうまく動作します。 .keyup()イベントで警告(「あなたがキーを押した!」)を置くと、それは起動しません。 – Dreadfulgravy

+0

Firefoxのコンソールウィンドウにエラーがないと言いましたが、私は他のブラウザをチェックしませんでした。今までのところそれだけではうまくいかなかったエラーはありません。 – Dreadfulgravy

答えて

0

コードはわかりました。あなたの問題はどこか他のところで嘘をついています。このコードを試してみて、結果をお知らせください -

$(document).ready(function(){ 
    if ($("#userN").val() == "") { 
     $("#testUserName").html(""); 
    } else { 
     alert("1"); 
    } 
    $("#userN").focusout(function() { 
     alert("2"); 
    }); 
    $("#userN").keyup(function() { 
     alert("3"); 
    }); 
} 
+0

そのコードを追加する1でアラートを見ることはできましたが、フォーカスアウトとキーアップは何もしませんか?彼らは、htmlページの

関連する問題