首页 文章

HTML <img> onclick函数到jquery

提问于
浏览
0

我有一个图像网格,它用PHP生成HTML . 每个图像都有一个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')) { ......

3 回答

  • 1

    使用 Event delegation

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

    在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');
    });
    
  • 1

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

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

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

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

相关问题