【发布时间】:2018-09-01 05:00:57
【问题描述】:
我在项目中遇到了问题。 在我的项目中,我想要点击 facebook 上传按钮后点击鼠标的位置。
例如
这里在图片中说我被点击了Hello 文本我想要Hello 文本的位置,然后我点击facebook 上传按钮并在文本之后添加图像。与Hello Test 的情况类似。这是我一直在尝试的地方
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
</head>
<body>
<div id="container">
<h1>Medium Editor</h1>
<form action="{{ route('editor') }}" method="post">
{{ csrf_field() }}
<div class="editable">
<textarea class="form-control textarea" name="description_en" id="description_en" ></textarea>
</div>
<input type="submit" value="submit">
</form>
<button id="facebookUpload">Facebook Upload</button>
</div>
<script type="text/javascript" src="{{ asset('js/jquery.js') }}"></script>
<script>
jQuery(document).ready(function(){
jQuery("#facebookUpload").focusin(function(e){
var posX = jQuery(this).prev().focusout().position().left;
var posY = jQuery(this).prev().focusout().position().top;
jQuery('.medium-editor-element').append('<img id="theImg" src="https://cdn.filestackcontent.com/jHNwCAMlTzujKkeLIyrq" style="width:100px;height:100px;left:'+ (e.pageY - posY) + ';top:'+ (e.pageX - posX) +'" />')
console.log((e.pageX - posX) + ' , ' + (e.pageY - posY));
});
});
</script>
</body>
</html>
但这不起作用。在所有情况下,它都会在底部添加图像。
这是一个例子
我没有找到解决方案。请帮助我。谢谢。
【问题讨论】:
-
你可以使用 javascript sessionStorage 属性。并在您单击项目后设置唯一的会话存储,然后当您将鼠标悬停在 facebook 按钮上时获取会话存储的价值……这可能会对您有所帮助..
-
您的问题有两个问题:1) 您无法在
<textarea>中添加图片。但是在<div contentEditable>中,是的。 2) 您将无法根据 x/y 点击坐标附加任何内容。您需要定位一个元素以在之前、之后或内部附加一些内容。 -
@LouysPatriceBessette 是的,我想定位 标签,在我点击 facebook 按钮并在其后添加图像之前选择该标签。这就是我需要的。但不知道怎么做。
-
好的...还有一件事,你在使用Medium Editor 插件吗? (这可以解释文本区域的混乱).
-
是的,我正在使用 Medium Editor 插件。但是对于图像我没有使用媒体编辑器。这是我的自定义函数。
标签: javascript jquery laravel editor