2011-09-08 9 views
0

私は小さな検索でkeyup関数を使用しようとしていますが、サーバー上のファイルとIE8とFFでページにアクセスすると、keyup関数は見えません働くそれをテストするために、私はjQueryのWebサイトのコードからコードを借りました(Windows Server 2003 R2)。ただし、この例も動作していません(http://api.jquery.com/keyup/)。私はそれがラインJquery Keyup()のサンプルがサーバー上で動作しない

<script type="text/javascript" src="/scripts/events.js"></script>

を持っており、私の最初の考えは、気づいた「私は、このイベントはファイル欠けているので、地雷が作動していません!」私はこれが事実ではないと思っています。私のコードでは、jQueryのダウンロードしたコピーにリンクしています。また、googleapiのコピーを使ってリンクしてみました。なぜキーアップ機能がサーバー上で動作していない可能性があるかについての考えはありますか?

+0

使用しているコードのコピーをご提供ください。 JavaScriptはブラウザで実行されます。つまり、サーバーは無関係です(JSサーバーの呼び出しはもちろんありません)。 – ShaneC

+0

JavaScriptコードと関連するHTMLを見ずに野生の推測をする以外は何もできません。 – jfriend00

+0

申し訳ありませんが、以前私が持っていた問題についての質問をしたので、私はもう一度投稿したくありませんでした。ここにjavascript、html、およびphpへのリンクがあります:[link](http:// stackoverflow .com/questions/7324149/using-php-mssql-jquery-for-instant-search) – dwf

答えて

0

このページのコードは少し壊れているようです。具体的には、最新のjQueryにはないprint機能が使用されているようです(これはおそらくevents.jsスクリプトに含まれていません)。

私はいくつかの小さな変更を行い、 jQueryのを-hosted;。あなたの代わりにあなたのローカルバージョンでそれを指すことができますし、それはまだ正常に動作する必要があります)。この変更されたバージョンで

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
fieldset { margin-bottom: 1em; } 
input { display: block; margin-bottom: .25em; } 
#print-output { 
    width: 100%; 
} 
.print-output-line { 
    white-space: pre; 
    padding: 5px; 
    font-family: monaco, monospace; 
    font-size: .7em; 
} 

</style> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script> 
</head> 
<body> 
    <form> 
    <fieldset> 
    <label for="target">Type Something:</label> 
    <input id="target" type="text" /> 
    </fieldset> 
</form> 
<button id="other"> 
    Trigger the handler 
</button> 
<div id="output"></div> 
<script> 
var xTriggered = 0; 
$('#target').keyup(function(event) { 
    if (event.keyCode == '13') { 
    event.preventDefault(); 
    } 
    xTriggered++; 
    var msg = 'Handler for .keyup() called ' + xTriggered + ' time(s).<br />'; 
    $('#output').append(msg); 
}); 

$('#other').click(function() { 
    $('#target').keyup(); 
});</script> 

</body> 
</html> 

、私は新しいdivに出力するデバッグメッセージをjQueryのappend()機能を使用していますIテキストボックスの下に追加されました。テキストボックスに入力すると、そこに登録されているキープレスイベントが表示されます。

+0

はい!これはうまくいきませんでしたが、これは私があなたに投票することはできませんが、これは動作していて、私のコードに何か問題があることを伝えています:(ありがとう! – dwf

+0

@dwfこれは、Javascriptのデバッグツール(Chrome、Safari、IEの組み込み開発ツール、Firefox用のFirebugプラグインなど)で利用可能です。少なくとも、ブラウザでJavascriptエラーコンソールを表示して、基本的な –

+0

@dwf答えがあなたのために働いた場合は、投票数の下にチェックマークを付けることができます。これは答えに役立ち、また評判を得ることができます – ShaneC

0

あなたが見ている要素は、ページの読み込み後に動的に生成されますか?もしそうなら、あなたは生きて使用する必要があります:

$("#element").live('keyup',function(e) { 
    var keycode = e.keyCode ? e.keyCode : e.which; 
}); 

をそれ以外の場合は試してみてください。

$("element").keyup(function(e) { 
    var keycode = e.keyCode ? e.keyCode : e.which; 
}); 

また、あなたが適切な要素(?入力ボックス)を選択していることを確認し、二重のセレクタをチェックし、正しいです。 e.keyCodeを扱う異なるブラウザでは、いくつかの問題が発生する可能性があります。上記の例では、e.keyCodeが存在しない場合のe.whichのキーコード値もチェックしています。

関連する問題