0

我有一些设置为变量的路径

var imagepath = "../Resources/Images/teamLogo1.png";

现在单击图像时,我必须在其 onclick 函数中将其作为参数传递

请在这里检查小提琴

我正在附加图像,我需要在那里编写 onclick 函数编辑:包括完整代码

$(document).ready(function(){
var imagepath = "../Resources/Images/teamLogo1.png";
    $("#Testing").append('<img src="http://www.magerempowerment.com/v2/blog/wp-content/uploads/2012/07/doubt_dice.jpg" onClick="testfunction('+ imagepath + ')">');

});

function testfunction(imagepath){
alert(imagepath);
};
4

4 回答 4

2

由于该值是一个字符串,因此您需要将其括起来''

$(document).ready(function () {
    var imagepath = "../Resources/Images/teamLogo1.png";
    $("#Testing").append('<img src="http://www.magerempowerment.com/v2/blog/wp-content/uploads/2012/07/doubt_dice.jpg" onClick="testfunction(\'' + imagepath + '\')">');

});

function testfunction(imagepath) {
    alert(imagepath);
};

演示:小提琴

于 2013-10-08T06:23:59.183 回答
1

你的函数不会调用,因为你正在创建img dynamically,所以试试吧,

HTML

$("#Testing").append('<img src="http://../doubt_dice.jpg" data-path="'+imagepath+'">');

脚本

$(document).on('click','img',function(){
    console.log($(this));
    alert($(this).data('path'));
});

小提琴

于 2013-10-08T06:29:15.033 回答
1

根本不要在 HTML 代码中嵌入处理程序。

$(document).ready(function(){
    var imagepath = "../Resources/Images/teamLogo1.png",
        img = $('<img src="http://.../doubt_dice.jpg">');
    img.click(function () {
        // you can refer to imagepath here, for example
        $(this).prop('src', imagepath);

        // or call your function:
        testfunction.call(this, imagepath);
    });
    img.appendTo("#Testing");
});

但是请注意,相对路径 ( "../Resources/Images/teamLogo1.png") 始终是相对于 HTML 文档的。

于 2013-10-08T06:33:12.007 回答
1

利用.prop

$('img').click(function(){
   alert($(this).prop('src')); 
});
于 2013-10-08T06:25:17.073 回答