5

私は基本的に、クリックするとそれぞれを強調表示し、他の場所をクリックするか、タブアウトするときにクリックしたものをli「強調表示解除」したいと考えています(プロパティに影響を与えることにより)。libackground-color

この動作は、本質的にその強調表示動作でエミュレート<select>されます...ただし、リストされたアイテム内に HTML をネストしたいので、  使用してませselect<option>

を使用しようとしていますonblurが、機能していません...

HTMLは次のとおりです。

<ul id = "list">
    <li>asdf</li>
    <li>qwerty</li>
<ul>

...ここにCSSがあります:
    #list {
        list-style-type: none;
    }

...そしてここにjQuery / Javascriptがあります:

    function getEventTarget(e) {
        e = e || window.event;
        return e.target || e.srcElement; 
    }

    function highlightSelection(selection) {
        alert("It worked!");
        $(selection).css("background-color","#FFFF00");
    }

    // this function is not being triggered:
    function removeHighlight(selection) {
        $(selection).css("background-color","none");
    }

    var ul = document.getElementById("list");

    ul.onclick = function(event) {
        var target = getEventTarget(event);
        highlightSelection(target);
    };

    // this event is not working:
    ul.onblur = function(event) {
        var target = getEventTarget(event);
        removeHighlight(target);
    };
4

2 に答える 2

2

ピントが合っていないので、sliぼやけません。mouseoutまたはで試してくださいmouseleave

于 2013-07-15T20:40:32.623 に答える