3

所以我有这个简单的 HTML

<div class="song">
    <img src="http://o.scdn.co/300/40e3ec60c92513f724f47ce71baad1e496627107">
</div>

而这个简单的 jQuery

$(".song").on( "mouseenter", function() {
    $(this).css( "background-color", "red" );
    alert('bla');
});

并且该事件不会触发。

虽然

$(".naujienuKategorija").on( "mouseenter", function() {
    $(this).css( "background-color", "red" );
});

工作得很好

<p class="naujienuKategorija">Apklausa</p>

这是在同一页上。

.song 具有以下 css

.song {
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid #E0E0E0;
    overflow: hidden;
}

我显然错过了一些东西......很明显。

4

1 回答 1

2

为了将事件绑定到元素,必须准备好并找到该元素。执行此操作的一般方法是将事件绑定放入其中,$(document).ready因为它确保可以访问页面上的原始元素。所以使用这个:

$(document).ready(function () {
    $(".song").on( "mouseenter", function() {
        $(this).css( "background-color", "red" );
        alert('bla');
    });
});

另一种选择是在目标元素之后的任何时间将您的事件绑定放在页面上,或者紧接在</body>. 例如:

<div class="song"></div>
<div class="song></div>

<script type="text/javascript">
    $(".song").on("mouseenter", function () {

    });
</script>

它可能一直在使用.naujienuKategorija元素,因为您使用的是上面的第二种方法,但没有使用.song元素。

于 2013-04-29T19:31:21.083 回答