调用 jquery 函数 onload

call jquery function onload

我有以下 jquery 功能,当我点击一个按钮时会显示一个信息框,这工作正常但我希望能够在页面加载时显示相同的信息框(没有需要按一个按钮)。但它不起作用,我做错了什么?

    // notification
if(jQuery('#growl2').length > 0) {
    jQuery('#growl2').click(function(){
        var msg = "Tip: Copy partnumber by searching for an exsisting and select it from grid.";
        jQuery.jGrowl(msg, { life: 5000});
    });
}

并且这个放在 body 结尾之前...

 <script>
 $(document).ready(function () {
     var msg = "Tip: Copy partnumber by searching for an exsisting and select it from grid.";
     jQuery.jGrowl(msg, { life: 5000 });
 });

只有点击这个按钮才有效..

<a id="growl2" class="btn btn-default"><small>Show message</small></a>

您可以尝试以下操作:

function loadjGrowl() {
   var msg = "Tip: Copy partnumber by searching for an exsisting and select it from grid.";
   jQuery.jGrowl(msg, { life: 5000 });
}

window.onload = loadjGrowl;

注意:当页面完全加载时触发。

如果您的按钮点击处理程序工作正常,您可以在附加后立即激活它,方法是调用 .click() 不带函数参数:

if(jQuery('#growl2').length > 0) {
    jQuery('#growl2').click(function(){
        var msg = "Tip: Copy partnumber by searching for an exsisting and select it from grid.";
        jQuery.jGrowl(msg, { life: 5000});
    }).click();   //  <---- this
}

将代码从 body 之前移动到 head 之前即可。

如果通过在正文标记前放置 jQuery.js` 来延迟 jQuery 的加载,也可能会出现此问题。

所以要么将代码移到 head 标签之前,要么将 <script src="jQuery.js" ></script> 移到 head 标签之前

或者你改用这个

<script>
window.onload = function(){
    var msg = "Tip: Copy partnumber by searching for an exsisting and select it from grid.";
     jQuery.jGrowl(msg, { life: 5000 });
}
</script>