我试图点击图片并抓住网址:
resolve.alias
返回:
未捕获的TypeError:无法读取属性' on'为null
解
添加代码:
$(".imageitemaddt").on("click", function() {
imgitem = $(this).attr('src');
alert(imgitem);
});
fabric.Object.prototype.transparentCorners = false;
var $ = function(id){return document.getElementById(id)};
fabric.Image.fromURL(imgitem, function(img) {
var oImg = img.set({ left: 50, top: 100, angle: -15 }).scale(0.9);
canvas.add(oImg).renderAll();
canvas.setActiveObject(oImg);
img.animate('left', 200, {
onChange: canvas.renderAll.bind(canvas)
});
});
$('grayscale').onclick = function() {
applyFilter(0, this.checked && new f.Grayscale());
};
$('invert').onclick = function() {
applyFilter(1, this.checked && new f.Invert());
};
$('remove-white').onclick = function () {
applyFilter(2, this.checked && new f.RemoveWhite({
threshold: $('remove-white-threshold').value,
distance: $('remove-white-distance').value
}));
};
结果:
function addtoo(img)
{
var nameim = img.src;
}
按钮中的:
function addtoo(img)
{
var nameim = img.src;
fabric.Image.fromURL(nameim, function(img) {
var oImg = img.set({ left: 50, top: 100, angle: -15 }).scale(0.9);
canvas.add(oImg).renderAll();
canvas.setActiveObject(oImg);
img.animate('left', 200, {
onChange: canvas.renderAll.bind(canvas)
});
});
}
https://jsfiddle.net/wvcsu6ho/6/
感谢您的帮助
答案 0 :(得分:2)
除非你绝对需要,否则你不应该覆盖jQuery $ 选择器。你应该做的是在noConflict模式下使用jQuery,如果你打算使用你自己的$ selector那么直接使用jQuery作为选择器。
如评论所述,如果ID不存在,它将始终返回null。
最好使用jQuery选择器并将代码更新为:
if ($('#grayscale').length > 0) {
$('#grayscale').on('click', function(e) {
applyFilter(0, $(this).is(':checked') && new f.Grayscale());
});
}
答案 1 :(得分:1)
尝试使用文档,以便即使页面尚未加载也可以监听DOM
自:
$(".imageitemadd").on("click", function() {
imgitem = $(this).attr('src');
alert(imgitem);
});
致:
$(document).on("click", ".imageitemadd", function() {
imgitem = $(this).attr('src');
alert(imgitem);
});