按html按钮时,在init.js中调用javascript函数

时间:2015-01-16 18:57:58

标签: javascript html

我在init.js中有这个功能

function bodyresize() {
                        var factor = ($window.width() * $window.height()) / (1440 * 900);
                        $body.css('font-size', Math.min(Math.max(Math.floor(factor * settings.sizeFactor), settings.sizeMin), settings.sizeMax) + 'pt');
                        $main.height(panels[activePanelId].outerHeight());
                        $body._reposition2();
                    };

                    $body._reposition2 = function() {
                        if (skel.vars.isTouch && (window.orientation == 0 || window.orientation == 180))
                            $wrapper.css('padding-top', Math.max((($window.height() - (panels[activePanelId].outerHeight() + $footer.outerHeight())) / 2) - $nav.height(), 30) + 'px');
                        else
                            $wrapper.css('padding-top', ((($window.height() - panels[firstPanelId].height()) / 2) - $nav.height()) + 'px');
                    };

现在我需要从我的game1脚本,当我按下按钮时,上面的代码运行

在我的index.html中我有这个:

<head>
<script src="js/init.js" type="text/javascript"></script>
</head>

和我有这个按钮

<button id="button" onclick="bodyresize()">Click Me test</button> 

我认为按钮有问题,因为他无法找到bodyresize,但我无法找到原因

1 个答案:

答案 0 :(得分:1)

这与你原来的方法有点不同,但我会在Javascript中处理整个事情。它可能看起来像这样:

document.getElementById('button').onclick = function(e) {
    // your code
}

这是working example

修改

这是元素本身定义的onclick按钮的another example。它看起来与你原来的相似。

这两种方法在技术上都是正确的,但如果在onclick中定义init.js函数,则无法在另一页中重复使用该文件,因为onclick函数会当找不到同名的另一个组件(button)时抛出错误。解决此问题的解决方案是定义一个新文件。

希望这能帮到你!