我需要禁用我正在使用的图像,<a "href">
直到页面完全加载。
我不能使用document.ready()
,因为我需要在文档准备好之前禁用。
有人可以帮我吗?
问候, 格纳内什
我需要禁用我正在使用的图像,<a "href">
直到页面完全加载。
我不能使用document.ready()
,因为我需要在文档准备好之前禁用。
有人可以帮我吗?
问候, 格纳内什
在您的 HTML 中将其定义为禁用:
<button disabled="disabled">My Button</button>
然后在页面加载时重新启用它。
这对于没有 Javascript 的用户来说具有破坏功能的缺点。另一种方法是在按钮后直接添加一小行代码:
<button id="myButton">My Button</button>
<script type="text/javascript">
document.getElementById('myButton').disabled = true;
</script>
...然后在 document.load() 上重新启用
使用新信息编辑:
它是input
“图像”类型吗?如果是这样,上述仍然有效。如果不是,并且它是一个<a>
带有图像的标签,我不建议按照公认的答案进行操作,抱歉。考虑到页面加载时间过长以至于您需要禁用链接,因此最后突然出现图像可能会令人沮丧或分散注意力。我建议的是:
<a href="whatever" onclick="return myLinkHandler();"><img src="..." /></a>
<script type="text/javascript">
var myLinkHandler = function() {
alert('Page not loaded.'); // or something nicer
return false;
};
</script>
然后在您的 document.ready 函数中,更改函数的定义:
myLinkHandler = function() {
alert("Yay, page loaded.");
return true;
};
或者,您可以在函数内部进行检查,以查看页面是否已加载。
var documentReady = false;
function myLinkHandler() {
alert (documentReady ? "Ready!" : "Not ready!");
return documentReady;
}
document.onload = function () { // or use jQuery or whatever
documentReady = true;
};
在图像的情况下,只需在<img>
标签中设置样式为 display:none ,然后使用其他建议删除 CSS 属性或更改它:
$(document).ready(function(){ $("#myImage").css("display","block"); });
这样,在文档准备好之前,图像甚至不会出现,然后用户可以单击它。如果您需要加倍努力,请按照其他建议执行并隐藏/禁用标签中的链接并使用 jQuery 显示/启用它。
使用 jQuery 的完整代码示例:
<input type="button" value="My Button" id="mybutton" disabled="disabled" />
<script type="text/javascript">
$(document).ready(function() { $('#mybutton').removeAttr('disabled'); });
</script>