JSはIEとFireFoxの間の一般的な関数の違いの結び目
9485 ワード
1.event.srcele ment
window.eventはIEの下でしか実行できません.Firefoxでは実行できません.
これはFirefoxのイベントはイベントが発生した場合のみ使用できるからです.
IE:
画面でバックをクリックするとイベントは発生しませんが、TextAreaのようなボックスでバックをクリックしてイベントが発生します.みんなはコードを修正して自分で使うことができます.
//srcElement IE target FireFox ,
var obj = e.srcElement ? e.srcElement : e.target;
2.e.originalEvent.x
// e.originalEvent.x IE ,FireFox e.originalEvent.layerX,
var positionX = e.originalEvent.x - $(this).offset().left || e.originalEvent.layerX - $(this).offset().left || 0;
3.ウィンドウズ.イベントwindow.eventはIEの下でしか実行できません.Firefoxでは実行できません.
これはFirefoxのイベントはイベントが発生した場合のみ使用できるからです.
IE:
<br>
<br>function test1() {
<br>alert(window.event); // window.event
<br>}
<br>function test2(evt) {
<br>evt=evt?evt:(window.event?window.event:null);
<br>alert(evt); // evt
<br>}
<br>
以下は一例です.画面でバックをクリックするとイベントは発生しませんが、TextAreaのようなボックスでバックをクリックしてイベントが発生します.みんなはコードを修正して自分で使うことができます.
s
<br>
<br>
<br>document.onkeydown=keypage
<br>
<br>function keypage(e) {
<br>
<br>eevt=e?e:(window.event?window.event:null);
<br>
<br>if (evt.keyCode==13) {
<br>
<br>if (window.XMLHttpRequest) { // IE7 FF MO
<br>//alert(( evt ? evt.explicitOriginalTarget : null).tagName)
<br>
<br>if(( evt ? evt.explicitOriginalTarget : null).tagName =="TEXTAREA"){
<br>var obj = evt ? evt.explicitOriginalTarget : null;
<br>alert("ID:="+obj.id)
<br>}
<br>} else { // IE6
<br>if(document.activeElement.type== "textarea") {
<br>var obj = document.activeElement
<br>alert("ID:="+obj.id)
<br>}
<br>}
<br>}
<br>}