我想将Jquery对象传递给函数,但它不适用于IMG标签。

我做下面的例子。当我单击文本时它起作用,但是当我单击图像时它不起作用。

$(document).on('click','.playvid',function (event) {
    event.stopPropagation();
    popup($(event.target));
});
function popup(data)
{
    data.html("success");
}
.playvid
{
    cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div data-id="3ZdHRvPNyCI" class=" playvid" ><img src="https://cdn4.iconfinder.com/data/icons/iconset-addictive-flavour/png/button_green_play.png">WATCH DEMO</div>

最佳答案

问题是因为,取决于您单击的位置,event.target可以是img元素,其中不能包含html。而是将$(this)传递给您的函数,因为它将包含.playvid元素:

$(document).on('click', '.playvid', function(event) {
  event.stopPropagation();
  popup($(this));
});

function popup(data) {
  data.html("success");
}
.playvid {
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div data-id="3ZdHRvPNyCI" class="playvid">
  <img src="https://cdn4.iconfinder.com/data/icons/iconset-addictive-flavour/png/button_green_play.png">
  WATCH DEMO
</div>

关于javascript - 将Jquery对象传递给IMG无法使用的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30778701/

10-13 00:56