css样式上的javascript事件从块更改为无

cur*_*sam 5 javascript css dom-events

是否有一个纯粹的javascript事件(没有jQuery),当我将div的css样式从块更改为无时触发.我的印象是我可以通过"onBlur"捕获它,但看起来我不能!

请指教!

Jos*_*nox 5

没有针对可见性更改触发的DOM事件.

您可以做的最好的事情是使用相同的功能来调整块的可见性,而不是每次都改变它的样式.

旧图案:

function doSomething() {
    alert("I'm doing something!");
    myBlock.style.display = "block";
}

function doSomethingElse() {
    alert("I'm doing something else now!");
    myBlock.style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)

新模式:

function doSomething() {
    alert("I'm doing something!");
    toggleMyBlock(true);
}

function doSomethingElse() {
    alert("I'm doing something else now!");
    toggleMyBlock(false);
}

function toggleMyBlock(show) {
    if (show) {
        // code here for what would be your 'it became visible' event.
    } else {
        // code here for what would be your 'it became invisible' event.
    }
    myBlock.style.display = show ? "block" : "none";
}
Run Code Online (Sandbox Code Playgroud)