如何在新的浏览器选项卡中触发点击事件

时间:2019-01-16 10:57:40

标签: javascript jquery html

我使用下面的代码打开了一个新的浏览器选项卡,在新的浏览器选项卡中,我有一个import java.time.LocalTime; public class HelloWorld { public static void main(String[] args) { LocalTime in = LocalTime.parse("16:00"); LocalTime out = LocalTime.parse("01:00"); int hOut = out.getHour(), hIn = in.getHour(); int hoursDiff = hOut < hIn ? 24 - hIn + hOut : hOut - hIn, minsDiff = (int)Math.abs(out.getMinute() - in.getMinute()), secsDiff = (int)Math.abs(out.getSecond() - in.getSecond()); System.out.println(hoursDiff+":"+minsDiff+":"+secsDiff); } } 元素,它用作按钮,然后单击它会触发ajax,该ajax使用最新数据更新表格,现在,当我改变焦点时返回此选项卡,我想触发该选项卡的单击,以便通过ajax更新表数据,但它不起作用。

<span class="refresh-table-data"></span>

我可以在开发人员工具窗口中看到如下所示的元素。

enter image description here

请提出我在这里想念的东西吗?

1 个答案:

答案 0 :(得分:0)

每次在窗口具有焦点时调用触发器click(例如,要进行测试,只需在代码段外部单击,然后再次在代码段容器上单击即可)。

P.S:您也可以尝试使用document.hasFocus()

$(document).ready(function(){   
    
    var window_focus;
    
    $(window).focus(function() {
        window_focus = true;
    		
        $('button').trigger("click");
    
    }).blur(function() {
        window_focus = false;
    });
    
    
    $('button').click(function() {
      // call ajax here:
      $('body').append('has focus<br/>');
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Click here to begin<br>

<button>
sdf
</button>