从HTML访问函数中的javascript函数

时间:2015-06-21 03:54:31

标签: javascript

我有一些javascript代码,可以通过点击按钮启动功能

"<input type='text' id='myTest' value='user input' /><input type='button' value='submit' onclick='myFunction();' />"

当myFunction()位于我的javascript的顶层时,这是有效的,但它需要在另一个函数中。这可能吗???

3 个答案:

答案 0 :(得分:0)

我认为那就是你想要的?

document.addEventListener("DOMContentLoaded", function(event) { 
    var myEventListener = new myFunc1();
    document.getElementById(mybutton).onclick(myEventListener.myFunc2);

    function myFunc1(){
       this.myFunc2 = function(){
          //DO STUFF...
       }
       //DO OTHER STUFF
    }
}

html:

 <input id="mybutton" type='button' value='submit'/>

答案 1 :(得分:0)

这是一个范围问题。您的DOM中的onclick范围无法看到您的功能内部功能&amp;因此不能称之为。如果您想使用onclick,则需要在全局范围内定义您的函数(或者更好的是,使用带有.click().on('click', ...)的jQuery。)

答案 2 :(得分:0)

这不是一个好的解决方案,但它的缺点是需要初始化注册内部函数的函数。

function fn() {
    function pi() {
        document.getElementById('myTest').value = Math.PI;
    }
    if (fn.pi) {
        // this is the part for the usual function body
        // skips at the first call
        return 777;
    }
    // make pi public
    fn.pi = pi;
}
fn(); // init function

在某个合适的地方添加:

<form>
    <input type='text' id='myTest' value='user input' />
    <input type='button' value='submit' onclick='fn.pi();' />
</form>