繁体   English   中英

Javascript“ onClick”事件不起作用

[英]Javascript “onClick” event doesn't work

我的php文件中有这一行:

echo "<input type='button' id='showButton' value='show'  onclick='showOld()'>";

显示该按钮,但是单击该按钮不会发生任何反应。

该函数位于外部JS文件中。 这是函数声明:

页面中的其他“ onclick”事件和JS函数正在运行。

    function showOld()
    {
    alert("njkh");
    var table = document.getElementById("showExp");
    var button = document.getElementById("showButton");
    if (table.style.display == "none")
    {
        table.style.display = "inline";
        button.value = "הסתר ניסויים ישנים";
    }
    else if (table.style.display == "inline")
    {
        table.style.display = "none";
        button.value = "הצג את כל הניסויים";
    }       
    }

控制台显示“ ReferenceError:未定义showOld”

您必须确保已部署更新的代码。

您可以检查html源。

并且您发布的代码没有任何问题。

尝试打开firebug的控制台(或chrome开发工具),然后检查是否存在脚本错误。

您应该避免编写内联JavaScript。 这使得调试和维护您的代码库变得更加困难。 我建议您阅读以下有关javascript事件的文章:

Quirksmode-早期事件处理程序

Quirksmode-传统事件注册模型

文章引用:

尽管内联事件注册模型是古老且可靠的,但它具有一个严重的缺点。 它要求您在不属于XHTML的XHTML结构层中编写JavaScript行为代码。

接下来尝试检查异常:

<input type='button' id='showButton' value='show' onclick='javascript:alert(1);try{showOld()}catch(e){alert(e)}' />

javascript控制台中到底显示了什么(如果有)?

首先,简化问题,看下面的功能是否起作用。

function showOld() {
alert('test');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM