簡體   English   中英

JavaScript適用於IE,但不適用於Firefox

[英]JavaScript works in IE, but not Firefox

同樣舊的相同舊,我的JavaScript在IE中運行正常,但不適用於Firefox。 我已經按照所有表格,檢查了所有論壇和回復,以及我編寫的內容應該有效,但事實並非如此。 Firebug將值顯示為“未定義”。

這就是我所擁有的; 它從一個更大的應用程序縮小,但它顯示了同樣的問題:

<html>
<head>
<script type="text/javascript">
function show_alert(evt)
{
if( !evt )
    evt = window.event;

var eSrc;
if( evt.srcElement )
    eSrc = evt.srcElement;
else
    eSrc = evt.target;

if( eSrc.tableisloaded == "showAlert" ) 
    alert("alert box: " + eSrc.name + "|" + eSrc.type);
}

</script>
</head>
<body>

<input type="button" name="clickme" tableisloaded="showAlert"
 onclick="show_alert(event);" value="Show alert box" />

 </body>
</html>

當我在IE中運行它時,我收到警報,這意味着它正在查找“tableisloaded”參數。 Firebug並沒有顯示出一切。

那么我做錯了什么,是否有辦法獲取參數? 我是否需要將其更改為參數( onclick="show_alert(event,"showAlert"); )?我希望不要因為它需要重寫大量代碼。

謝謝

試試eSrc.getAttribute("tableisloaded")

此外,如果你想要時髦和時髦,你可以考慮讓你的頁面HTML5並調用你的額外屬性“data-tableIsloaded”。 這樣它就會驗證。

<!doctype html>
<html lang="en">
<head>
<meta charset= "utf-8">    
<title>Added attributes</title>
<script type="text/javascript">

function show_alert(evt){
    evt= window.event || evt;
    var eSrc= evt.srcElement || evt.target; 
    if(eSrc.getAttribute('data-tableisloaded')== "showAlert"){
        alert("alert box: " + eSrc.name + "|" + eSrc.type);
    }
}
onload=function(){
    document.getElementsByName('clickme')[0].onclick=show_alert;
}

</script>
</head>
<body>

<input type="button" name="clickme" data-tableisloaded="showAlert" 
value="Show alert box" >

</body>
</html>

//當我還在打字時,尖尖的回答,我給了他一個upvote-但這就是他說的......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM