如何在新标签页上加载HTML DOM事件?

时间:2016-06-27 03:31:50

标签: javascript jquery html

我有一个自定义主页,在Firefox中打开一个新标签时加载。 我想在加载时重新定位插入符,但是我无法找到将在标签加载上处理此事件的事件。

从新的标签事件加载页面时window.onpageshowwindow.onload事件不起作用,但在刷新或类似事件上正常工作。 使用元素抛出事件也没有任何效果,例如:

<body onload="blah()">

当页面以这种方式加载时,有没有办法调用我的光标重定位功能? 编辑:这是setCursor代码

<script type="text/javascript">
window.onload = ready;
function ready()
{
    setCursor(document.getElementById('sbar'), 0, 0)
};
</script>


<script type="text/javascript">
function setCursor(el, st, end) 
{
    if (el.setSelectionRange) {
        el.focus();
        el.setSelectionRange(st, end);
    } else {
        if (el.createTextRange) {
            range = el.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', st);
            range.select();
        }
    }
};
</script>

1 个答案:

答案 0 :(得分:1)

如果要挂钩页面加载(标签加载),您有几个选项:

第一个选项是使用onload事件:

window.onload = ready;
function ready()
{
    alert("Hi !");
};

演示: http://jsfiddle.net/vy79v39k/

第二个选项是将你的javascript放在正文的最后:

<body>
  ...
  <script type="text/javascript">
    ready();
  </script>
</body>

第三个选项是使用jQuery我投票支持!):

jQuery(function($) {
    //Your code here
});

或者:

jQuery(document).ready(function($) {
    //Your code here
});