JavaScript работает в IE, но не в Firefox - PullRequest
4 голосов
/ 28 мая 2010

Тот же старый, тот же старый, мой 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");)? Я надеюсь, что НЕТ, поскольку это потребует значительного изменения кода.

Спасибо

Ответы [ 2 ]

11 голосов
/ 28 мая 2010

Попробуйте eSrc.getAttribute("tableisloaded")

Кроме того, если вы хотите быть модным и модным, вы можете подумать о том, чтобы сделать свои страницы HTML5 и назвать свой дополнительный атрибут data-tableIsloaded. Таким образом, это подтвердит.

0 голосов
/ 28 мая 2010
<!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>

// Пинти ответил, когда я все еще печатал, и я дал ему голос. но это то, что он сказал ....

...