[英]Accessing a javascript function within a function from HTML
我有一些javascript代码,可在单击按钮时启动功能
"<input type='text' id='myTest' value='user input' /><input type='button' value='submit' onclick='myFunction();' />"
当myFunction()位于我的javascript的顶层时,此方法有效,但它必须位于另一个函数中。 这可能吗???
我想那就是你想要的?
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'/>
这是范围的问题。 DOM中的onclick
范围看不到函数内的函数,因此无法调用它。 如果要使用onclick
,则需要在全局范围内定义函数(或者更好的方法是,将jQuery与.on('click', ...)
.click()
或.on('click', ...)
)。
这不是一个很好的解决方案,但是它的缺点是需要初始化函数以注册内部函数。
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.