同样老旧,我的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");
)吗?我希望不要因为它需要重写大量代码。
由于
答案 0 :(得分:11)
尝试eSrc.getAttribute("tableisloaded")
此外,如果你想要时髦和时髦,你可以考虑让你的页面HTML5并调用你的额外属性“data-tableIsloaded”。这样它就会验证。
答案 1 :(得分:0)
<!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-
但这就是他说的......