如果超出按钮区

时间:2016-11-10 14:40:31

标签: javascript html dom

我从页面获取按钮,只有当鼠标在它上面时才可以点击。

按钮如下所示:

<button class="btn-large red" data-bind="text: submitLabel, trueClick: submit,
          css: { 'light-skin': ff.DealTicket.useLightSkin, disabled: !isValid() || isOrderPending() ||isSubmitting(), blue: isBuy(), red: !isBuy(), yellow: isOCO() }">Place Sell Trade</button>

我想执行点击此按钮,因此在Developer Tool(Google Chrome浏览器)的控制台中,我编写了如下代码:

document.querySelector('button.btn-large.red').click;

当我输入代码时,它只返回“未定义”,没有任何反应。当我把它放在间隔中时:

setInterval(function(){
    document.querySelector('button.btn-large.red').click();
    }, 2000)

它应该每两秒点击一次按钮,但不要点击。当我将鼠标放在此按钮上时,来自Interval的此代码可以工作并单击...

我也尝试了间隔,专注于

setInterval(function(){
    document.querySelector('button.btn-large.red').focus();
    document.querySelector('button.btn-large.red').click();
    }, 2000)

...但是相同,当鼠标离开此按钮时不要单击。

如果鼠标远离此按钮,我应该怎么做才能点击此按钮?

1 个答案:

答案 0 :(得分:0)

您的代码似乎正常运行。 为什么你说它不起作用?您是否在按钮上的click事件中添加了一些事件监听器?

&#13;
&#13;
document.querySelector('button.btn-large.red').addEventListener('click', function() {
  console.log('Clicked');})

document.querySelector('button.btn-large.red').click();


setInterval(function() {
  document.querySelector('button.btn-large.red').focus();
  document.querySelector('button.btn-large.red').click();
}, 2000)
&#13;
<button class="btn-large red" data-bind="text: submitLabel, trueClick: submit,
          css: { 'light-skin': ff.DealTicket.useLightSkin, disabled: !isValid() || isOrderPending() ||isSubmitting(), blue: isBuy(), red: !isBuy(), yellow: isOCO() }">Place Sell Trade</button>
&#13;
&#13;
&#13;

选中jsfiddle