0

この関数は初めて実行されません。手伝ってくれませんか 。私はjquery-2.0.3.jsを使用しています

 function fillnum(sender) {

 $(document).ready(function () {
var id = $(sender).attr('id');

$('#' + id).keydown(function (event) {
    if ((event.keyCode < 48 || event.keyCode > 57)) {  return false;  }
    else { return true; }
});

});

}

4

3 に答える 3

0

通常、これは関数には含まれませんが、sender最初に定義する必要があります。

$(document).ready(function () {
  var id = $(sender).attr('id');

  $('#' + id).keydown(function (event) {
    if ((event.keyCode < 48 || event.keyCode > 57)) {  return false;  }
    else { return true; }
  });

});

関数内のコードは、関数が呼び出されたときにのみ実行されます。関数に上記があるということは、関数が他の場所で呼び出されるまで、「ロード時」のリスナー/ハンドラーが設定されないことを意味します。

分離するためにコードが関数内にある場合もありますが、その場合はすぐに呼び出す必要があります。

function fillnum(sender) {
    ... whatever ...
}

fillnum(sender);

または、名前が必要ない場合でも:

function(sender) {
    ... whatever ...
}(sender);
于 2013-07-29T21:46:14.673 に答える