函数与$(this).attr('src');在img上未定义

时间:2015-05-26 22:55:58

标签: javascript jquery html

我需要帮助才能理解$(this)是如何工作的,因为我无法使用这个简单的代码:

HTML:

<img style="cursor:pointer;" onclick="openfullsize();" src="/customimage/test.png"/>

JS:

function openfullsize(){
    var path = $(this).attr("src");
    alert(path);
}

我想知道是否有什么我做错了或者我只是不明白$(this)的行为方式。 $(this)应该引用调用它的元素,对吧?在这种情况下,它将是我的img。

这应该警告src属性的内容,但它是未定义的。

我希望这能在Jquery中。

感谢您的帮助,这里是JsFiddle

1 个答案:

答案 0 :(得分:1)

您应该直接在JS代码中绑定事件处理程序,而不是像目前那样在HTML中绑定。

$("img").on("click", function(){
    //$(this) will now work as expected
});