单击一个包含高亮和滚动等任务的按钮

时间:2018-08-03 17:57:23

标签: javascript button task

您如何使按钮执行某项任务,而不仅仅是单击?我试图在文本上突出显示并在单击按钮时滚动按钮。函数中的for循环和if语句正确吗?另外,我在帖子中看到在函数的开头和结尾加上了括号。那是对的吗?请帮助解决此代码。谢谢!

var press = document.createElement('press');

press.onclick = (function () {
    for (var q = 0; q < i; q++) {
        if ( x == y ) {
            document.getElementById(x).scrollIntoView(true);
            $('body').text().highlight(x);
        }
    }
})();

1 个答案:

答案 0 :(得分:0)

我很难理解您的问题,但我会尝试根据您的代码回答。

“您如何使按钮执行某项任务,而不仅仅是单击?” 您将一个事件侦听器添加到该按钮,禁用默认行为并将任务写入侦听器回调中。

btnElement.addEventListener('click', (e)=>{
  e.preventDefault();
  //Code for your task
});

for循环和for循环中的if语句正确吗? 我不确定这是一个问题还是声明。从语法上看,它是正确的,但是如果没有适当的上下文,我不能说更多。什么是x?请提供有效的示例或更多代码。

此外,我在帖子中看到在函数的开头和结尾加上多余的括号。正确吗? 仅当您想要拥有IFFE(https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)时,才这样做。基本上,您在定义匿名函数后立即调用它。

请帮助修复此代码。谢谢! 请仔细阅读上述要点,然后更改您的代码。为了帮助您修复代码,我需要有关您要执行的操作的更多信息。我能做的最好是添加缩进。

var press = document.createElement('button'); //Create a button element.

press.onclick = (function () {
  for ( var q = 0; q < x.length; q++) {
    if ( x == y ) {
     document.getElementById(x).scrollIntoView(true);
     $('body').text().highlight(x);
    }
  }
})();