jQuery .live() - 这有什么不对吗?

时间:2012-12-02 14:34:17

标签: jquery

在过去的3天里,我试图让这个简单的例子起作用,但无论我尝试什么,我似乎都无法理解我哪里出错...

HTML:

<input type="text" id="textEntry" /> <button>Go</button>
<ul id="list">
    <li>Text from the input field will appear below</li>
</ul>

JQUERY:

$('button').click(function() {
    $enteredText = $('#textEntry').val();

    if($enteredText.length === 0) {
        alert('PLace an item in the field box');
    } else {        
        $newListItem = $('<li/>').html($enteredText).appendTo('#list');
    }

});

$('li').live('mouseover mouseout', function(event) {
    if(event.type == mouseover) {
        $(this).css('background-color', 'yellow');
    } else {
        $(this).css('backgorund-color', 'transparent'); }
});

最终我要做的是让用户在文本字段中输入一个项目,然后将其自身附加到现有列表中(这样可行 - 没有问题)。然后,用户可以将鼠标悬停在特定条目上,导致鼠标悬停时背景变为黄色,鼠标悬停时变为透明(问题)。

任何帮助都会膨胀。

感谢。

2 个答案:

答案 0 :(得分:1)

if (event.type == mouseover)

您没有名为mouseover的任何变量。

答案 1 :(得分:1)

event.type为您提供字符串中的事件名称,因此mouseover应为"mouseover"

$('li').live('mouseover mouseout', function(event) {
    if(event.type == "mouseover") {
        $(this).css('background-color', 'yellow');
    } else {
        $(this).css('backgorund-color', 'transparent'); }
});

修改backgorund-color应为background-color