图像阻止我的可点击div

时间:2012-01-08 15:46:18

标签: javascript html onclick

我在javascript中有一个鼠标悬停功能,还有一个可点击的div,就是当我点击图片时,没有任何事情发生,但在图像之外它完美无缺。

   <div id="1" onclick="SendRating(this.id);" onmouseover="rateStar(this.id)" ><img src="star.jpg"></div>

我的鼠标功能。

function rateStar(rating){
    var i = 1;
    var ratings = '';
    for (i==1; i<=5; i++){
        if (i<=rating){
            document.getElementById(i).innerHTML = '<img src="star1.gif">';
        }
        else{
            document.getElementById(i).innerHTML = '<img src="star.jpg">';
        }
    }
}

感谢

1 个答案:

答案 0 :(得分:2)

ID不能以数字开头。制作代码:

<div id="rating_1" score='1' onclick="SendRating(this.getAttribute('score'));" onmouseover="rateStar(this.id)" ><img src="star.jpg"></div>

并将您的javascript更改为

function rateStar(rating){
    var i = 1;
    var ratings = '';
    for (i==1; i<=5; i++){
        if (i<=rating){
            document.getElementById('rating_'+i).innerHTML = '<img src="star1.gif">';
        }
        else{
            document.getElementById('rating_'+i).innerHTML = '<img src="star.jpg">';
        }
    }
}

这可能无法解决您的问题,但无论如何您都需要这样做。另外,考虑将onclick事件移动到图像本身:

<div><img src="star.jpg" score='1' id="rating_1" onclick="SendRating(this.getAttribute('score'));" ></div>

并将你的js改为:

 function rateStar(rating){
        var i = 1;
        var ratings = '';
        for (i==1; i<=5; i++){
            if (i<=rating){
                document.getElementById('rating_'+i).src= 'star1.gif';
            }
            else{
                document.getElementById('rating_'+i).src= 'star.jpg';
            }
        }
    }

所以你只是改变了图像源