jQuery onClick图像事件

时间:2013-11-28 23:03:39

标签: javascript jquery

我正在尝试这样做,当你点击图像时,它会在文档中执行一个功能。

现在我遇到了一些麻烦,我确定这是一个愚蠢的错误,但这里有什么不对吗?

<script type="text/javascript">
$.getJSON("https://api.twitch.tv/kraken/search/streams?q=star&type=suggest&callback=?", function (data) {
    $i = 0;
    $.each(data.streams, function (index, item) {
        $("<img>").attr("src", item.preview.medium).attr("onclick", "").appendTo("#images");
        $i++;
    });
});
</script>

它们显示正确,只是onclick事件不起作用。

5 个答案:

答案 0 :(得分:3)

为每个图像添加一个类,例如'leImage'。

创建一个这样的事件监听器:

$(".leImage").on("click", function()
{
    // Do stuff, get id of image perhaps?
    var id = this.id;
    // or
    var id = $(this).attr("id");
});

如果这不是您所要求的,那么您必须更清楚:)

答案 1 :(得分:2)

您正在使用jquery创建元素..所以只需使用其方法

$("<img>")
    .attr("src", item.preview.medium)
    .click(function(){ showStream(index);})
    .appendTo("#images");

或者您使用此语法

$("<img>", {
    src: item.preview.medium,
    click: function(){showStream(index);}
}).appendTo("#images");

答案 2 :(得分:1)

试试这种方式;

<script type="text/javascript">
$.getJSON("https://api.twitch.tv/kraken/search/streams?q=star&type=suggest&callback=?", function (data) {

    $.each(data.streams, function (index, item) {
        $("<img>").attr("src", item.preview.medium).appendTo("#images");

    });
});


 $("#images img").on("click",function(e){
   alert("your function all")

  })
</script>

答案 3 :(得分:0)

点击后的功能名称是空白的吗?

$("#something").attr("onClick","new_function()");

答案 4 :(得分:0)

首先为图像设置id。

<img src="../images/warning.png" id="imageId"/>

之后使用此代码:

<script>
    $('#imageId').click(function () {
        alert('It works!');
    });
</script>