Onclick功能不起作用

sil*_*513 0 jquery onclick

我尝试创建这个脚本,它在我调用函数oncall时工作,但是当我创建一个按钮并使用onclick函数时,脚本不会运行.

var i = 0;

function increase() {

    var amount = parseInt($('.amount').text());

    i = amount;
    var random = Math.floor(Math.random() * amount);
    var counter = window.setInterval(function () {
        if (i == amount + random) {
            window.clearInterval(counter);
        }
        document.getElementById('result').innerHTML = i++;
    }, 10);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/7MLK5/2/

Aru*_*hny 7

您的increase功能不在全球范围内,将其置于全局范围内并且没有问题.

在fiddler LHS面板中,onload默认选择第二个下拉列表,这将使fiddler在onload处理程序中添加所有脚本,使其在作用域中是本地的,因此当您的内联onclick处理程序尝试在全局作用域中查找该方法时,它将找不到它在那里.一个简单的解决方法是No Wrap - In Body/Head在下拉列表中进行选择- 它不会将内容包装在另一个函数中,使其成为全局范围.

演示:小提琴

此外,由于您使用的是jQuery,我宁愿使用jQuery而不是使用内联脚本来添加事件处理程序