0

重複の可能性:
IEおよびChromeではないFireFoxでのJavascriptエラー

CalenderのJavacaleder.jsファイルにあるJavaScript関数があります。このカレンダーはIEとクロムでは正常に機能しますが、FFでは機能しません。エラーコンソールにエラーが表示されます。「イベントが定義されていません」event.clientXにエラーが表示されます。以下の行は関数です..どんな助けでもありがたいです..以下の関数はこのように呼ばれます...

 objDiv.style.left = GetControlLeftPosition_jScript() + "px";

function GetControlLeftPosition_jScript() {
var controlLeft = event.clientX;
var pageWidth = document.body.clientWidth;
var spaceinRight = parseInt(pageWidth) - parseInt(controlLeft);
if (spaceinRight > 220) {
    return controlLeft
}
else {
    return parseInt(pageWidth) - 220;
}

}

4

1 に答える 1

1

ユーザーがテキストボックスの横にあるボタンをクリックすると、カレンダーが表示されます。Ok。ボタンのクリックハンドラーは、最初のパラメーターとしてイベントオブジェクトを受け取ります。そこに、イベントオブジェクトがあります。

undefinedその場合は、古いバージョンのIEを実行している可能性があるかどうかを確認してください。その場合は、window.event

function buttonClickHandler(event) {
    var eventObj = event || window.event;
    objDiv.style.left = GetControlLeftPosition_jScript(eventObj) + "px";
}

function GetControlLeftPosition_jScript(eventObj) {
   var controlLeft = eventObj.clientX;
   //  ... remaining code.

そうは言っても、これらの懸念を抽象化し、代わりに単一のAPIを提供するライブラリを使用することをお勧めします。jQuery、Mootools、dojoなど、気になるものなら何でも。

于 2012-07-03T10:51:51.073 に答える