当前位置:  开发笔记 > 编程语言 > 正文

如何从onClick调用函数

如何解决《如何从onClick调用函数》经验,为你挑选了1个好方法。

我正在尝试制作一个倒计时器,当你点击按钮时开始.我似乎无法使用onclick调用该函数.使用onclick中的字符串参数调用函数的正确语法是什么?我试过了:

onclick="countDown(10, 'status')" 

但这不起作用.谁知道我做错了什么?

演示:

function countDown(secs,elem) {
  var element = document.getElementById(elem);

  element.innerHTML = "Please wait for "+secs+" seconds";
  if(secs<1){
    clearTimeout(timer);
    element.innerHTML = '

Countdown Complete!

'; element.innerHTML += ' Click here now'; } secs--; var timer = setTimeout('countDown('+secs+',"'+elem+'")',1000); }

http://codepen.io/michaelaharvey/pen/WrGxYp



1> Quentin..:

这是正确的语法(至少如果你要使用内部事件属性),但是你已经在提交按钮上使用它,所以在函数运行后的瞬间,表单提交并加载一个新页面(消除了你用JS做的改变).

您可以从onclick函数返回false以防止默认行为:

onclick="countDown(10, 'status'); return false;" 

现代代码倾向于使用JavaScript绑定事件处理程序.

document
    .querySelector("input[type=submit]")
    .addEventListener("click", function (event) {
        event.preventDefault();
        countDown(10, 'status');
});

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有