我有以下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});
});
}
这是放在身体结束之前...
<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>
当您将其从 body
之前移动到 head
之前时,代码有效。
如果通过将 jQuery.js' 放在 body 标记之前来延迟 jQuery 的加载,也可能会出现此问题。
因此,要么将代码移动到头标签之前,要么<script src="jQuery.js" ></script>
移动到头标签之前
或者你改用这个
<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>
您可以尝试以下操作:
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
}