HTML <img> onclick function to jquery


HTML <img> onclick function to jquery

我有一个网格的图像有它的HTML生成的PHP。每个图像都有一个onclick()函数,该函数的参数中有一个PHP变量。在HTML所在的页面上,我有一个Javascript函数,它使用onclick(arg)函数中的参数。

我已经开始使用jquery,我希望能够将这个onclick()函数更改为我的jquery函数,同时使用PHP页面中的PHP参数。

这是生成HTML的PHP文件中的代码,如您所见,有一个onclick函数,它的参数是一个数字:

Echo "<img src= '$link[Image_Link] . /133x100' id='$row[Item_Name]' title='$row[Item_Name]' class='clickableImage' alt='$just_name' onClick='addValue(". $credit_value .")' border=0 style='position: relative; top: 0; left: 0;'/>";

这是我在HTML页面上的Javascript函数,它只是改变页面上的一些文本:

function addValue(credits){
    var value = document.getElementById("value").innerHTML;
    value = parseInt(value, 10);
    var totalValue = value+credits;
    document.getElementById("value").innerHTML = totalValue;
}

我已经为点击这些图像设置了一个jquery函数,但是我希望能够使用PHP文件中的$credit_value变量。这是我的jquery函数的开始:

$().ready(function () {
    $('img.clickableImage').click(function () {
        if ($(this).data('selected')) { ......

在echo语句中,放置一个自定义的data-*属性,如

echo "<img data-credit='". $credit_value ."' src= '$link[Image_Link] . /133x100' id='$row[Item_Name]' title='$row[Item_Name]' class='clickableImage' alt='$just_name' border=0 style='position: relative; top: 0; left: 0;'/>";

然后在点击处理程序中像

那样访问它
$('img.clickableImage').click(function () {
        var credit = $(this).attr('data-credit');
});

您可以使用data-*前缀自定义属性,设置值

echo "<img  data-creditvalue='. $credit_value .' ......../>";

脚本,获取使用$.fn.data(),因为你已经使用$(this).data('selected')

var creditvalue = $(this).data("creditvalue")

使用事件委托

 $(document).ready(function () {
    $(document).on('click', 'img.clickableImage', function () {
            if ($(this).data('selected')) {
               // here your code
            }
    });
 });