一个div本来是隐藏的,如何在显示的时候触发事件

求教,如何用js实现 在div样式改变时触发事件,现在一个div本来是隐藏的,我想在它显示的时候触发一个事件

你的意思是在由隐藏变为显示的时候触发事件?

当div显示的时候,触发事件。要求很明确呀。如果是浏览器的问题,那就不是你的代码问题了

你这个想法确实很不错,我昨天刚好做了跟你说的同样的需求,判断了很多次,感觉写了好多冗余的代码。感觉没有其他的好的方法。你如果有,请指教。谢谢。

逻辑顺序是你先本身是隐藏的 ,但是你现在是要在触发是显示,然后再显示事件 这个之前你CSS显示隐藏就可以了 在后面JS控制CSS的显示和隐藏是触发的事件

发个链接给你可能能够解决你的问题:http://www.cnblogs.com/pigtail/archive/2012/04/17/2452078.html

function a(){
document.getElementById("saveButton").style.display = "none";
document.getElementById("submitButton").style.display = "none";
document.getElementById("tips").style.display = "";
b();
}
function b(){
alert(':)');
}

没有直接监听元素属性变化的事件,我觉得你应该改变一下想法。
div的显示和隐藏肯定是由其他方法触发的,可以在触发他的方法里附上div显示后的方法,或去监听这个触发事件。而不是关注div本身属性的变化。

这个问题到底是你触发事件显示?还是显示的时候触发另一个事件。
如果是触发时间显示很简单
提前把原本的div的display属性设置为none;
function (触发事件){
$(".div").style.display=block;

如果是显示的时候触发另一个事件:
function(触发事件){
if($(".div").style.display==block;){
function(){
触发的事件;

调用

相当于异步或者订阅模式,很可惜,浏览器没有提供这种api,所以解决这个问题的根本就是从是什么事件导致他的div开始显示,然后在那个函数执行完毕之后添加一个回调就ok啦

div本来就是隐藏的,你肯定需要一个触发事件让它显示,然后你再接着把后面需要触发的事件写在后面就行咯~

js里判断就行了啊 判断你div的attr也就是属性为显示时然后在下面操作,具体的你去百度一下就行