1

私はクロムでうまく機能する次の関数を持っています:

function updateUserID(element) {
  var username = $("#viewColTasks").val();
  var currentEvent = window.event;
  if (currentEvent.keyCode === 13){
  if (username == ''){
     $("#viewColTasks").attr("placeholder", "Please enter a valid username");
     $("#viewColTasks").val("");
  }
  else{
    var text = $(element).val();
    changeUserTo = text;
    socket.emit('getUserID', text);
    $("#viewColTasks").attr("placeholder", "Viewing " + username + "'s work");
    $("#viewColTasks").val("");
  }
 }
}

これはFFではサポートされていませんか?私は調査を続けており、イベントとしてeを使用することに関連しているようですが、chromeとfirefoxの両方で何も機能させることができませんでした

何か案は?

4

2 に答える 2

3

イベントを処理する非標準(Microsoft)の方法を使用しています。これは、グローバル変数として使用可能なイベントオブジェクトに依存しています。

リスナーを適切にバインドすると、イベントターゲット(element)とイベントオブジェクトの両方を別の方法で使用できるようになります。jQueryを使用しているので、次のことを行う必要があります。

$('#example_input').keydown(function(e) {
    console.log(this); // the input you're typing at
    console.log(e); // the event object (including keycode)
});
于 2013-02-19T14:58:21.213 に答える
0

目的のキーコードである場合は、keyPressハンドラーをドキュメントに添付してみてください。ページ上の要素でキーを押すとバブルが発生し、そこで作業を行うことができます。

試す:

$(document).bind('keydown', function (e) {
    alert(e.keyCode);
}

お役に立てれば

于 2013-02-19T15:10:41.403 に答える