6

私はこれをやろうとしています:

$("#canvasDiv").mouseover(function() {
    var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
    var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
    $(".filler").text("( e.pageX, e.pageY ) : " + pageCoords);
    $(".filler").text("( e.clientX, e.clientY ) : " + clientCoords);
});

コンソールでこれを取得します:

Uncaught ReferenceError: e is not defined

わかりません... はeJavaScript が既に設定している変数であるはずだと思っていました...ヘルプ?

4

3 に答える 3

15

変化する

$("#canvasDiv").mouseover(function() {

$("#canvasDiv").mouseover(function(e) {

確かに、コールバックへの最初のパラメーターは事前定義されていますが、それを使用するには、引数名を使用してエイリアスを作成する必要があります。そのためe、引数として指定します。実際、引数名が である必要はありませんe。これも機能します:

$('#canvasDiv').mouseover(function( event ) {

});

eventただし、関数コールバックで名前を使用してイベント オブジェクトにエイリアスを設定する必要があります。

于 2012-11-10T21:43:06.587 に答える
2

マウスオーバー イベントが発生したときに呼び出されるコールバック関数を定義しています。フレームワークは、イベントに関する情報をこの関数の最初の引数として渡します。この引数に「e」という名前を付けるのが一般的です。ただし、関数パラメーターで宣言する必要があります。つまり、

$('foo').mouseover(function (e) {
于 2012-11-10T21:44:31.330 に答える
1
             .....missing e ---- -\/
$("#canvasDiv").mouseover(function(e) {
    var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
    var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
    $(".filler").text("( e.pageX, e.pageY ) : " + pageCoords);
    $(".filler").text("( e.clientX, e.clientY ) : " + clientCoords);
});
于 2012-11-10T21:44:00.193 に答える