我需要将< img >标记包装在标记中,为此,它需要获取图片的地址。如何在不使用regexp的情况下做到这一点?
我还需要知道图片的宽度,'onload‘函数会破坏事件'BeforeSetContent’
ed.on('BeforeSetContent', function (e) {
if (e.content.startsWith("<img")) {
var s = e.content.replace(/\<img src=\"(.+)\" alt.+\>/i,'$1');
console.log('SRC: '+s);
// var img = new Image();
// img.src = s;
// img.onload = function() {
// console.log('img-width: '+img.width);
// if (img.width > 450){
e.content = '<a class="ajax-modal modal_image hover_image" href="' + s + '">' + e.content + '</a>';
// }
// }
}
});
发布于 2019-09-10 14:37:26
如果你想在点击img时打开新窗口,你可以这样做:
document.addEventListener('click', function(event) {
if (event.target.nodeName === 'IMG' && event.target.src && /^http/.test(event.target.src)) {
event.preventDefault()
window.open(event.target.src)
}
})发布于 2019-09-10 14:41:04
要回答第一个问题,如果你的镜像有一个id,那么:
var imgsrc = document.getElementById("yourImageId").src;如果它没有id,则使用父对象,例如:
var imgsrc = document.querySelectorAll('#imgParentDiv img')[0].src发布于 2019-09-11 00:03:42
我不能用jQuery得到地址
ed.on('BeforeSetContent', function (e) {
if (e.content.startsWith("<img ")) {
var objC = $(e.content).filter(':first');
var src = objC.attr('src');
e.content = '<a class="ajax-modal modal_image hover_image" href="' + src + '">' + e.content + '</a>';
}
});
如何使用jQuery和我创建的对象'objC‘获取图片的宽度?
https://stackoverflow.com/questions/57864886
复制相似问题