linux cpu占用率如何看
318
2022-08-23
Layui富文本layedit图片设置超链接后,图片被链接字符串替换了,图片消失不见了,完整解决方案
第一步:你需要了解,JavaScript 函数 Call
你需要了解,JavaScript 函数 Call()不然,下面的源码你看不懂
先看一段官方解释:
方法重用
使用 call() 方法,您可以编写能够在不同对象上使用的方法。
函数是对象方法
在 JavaScript 中,函数是对象的方法。
如果一个函数不是 JavaScript 对象的方法,那么它就是全局对象的函数(参见前一章)。
下面的例子创建了带有三个属性的对象(firstName、lastName、fullName)。
var person = { firstName:"Bill", lastName: "Gates", fullName: function () { return this.firstName + " " + this.lastName; }}person.fullName(); // 将返回 "Bill Gates"
fullName 属性是一个方法。person 对象是该方法的拥有者。
fullName 属性属于 person 对象的方法。
JavaScript call() 方法
call() 方法是预定义的 JavaScript 方法。
它可以用来调用所有者对象作为参数的方法。
通过 call(),您能够使用属于另一个对象的方法。
本例调用 person 的 fullName 方法,并用于 person1:
var person = { fullName: function() { return this.firstName + " " + this.lastName; }}var person1 = { firstName:"Bill", lastName: "Gates",}var person2 = { firstName:"Steve", lastName: "Jobs",}person.fullName.call(person1); // 将返回 "Bill Gates"
[*重点]带参数的 call() 方法---layui源码用到是此方法
call() 方法可接受参数:
实例
var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; }}var person1 = { firstName:"Bill", lastName: "Gates"}person.fullName.call(person1, "Seattle", "USA");
此例调用 person 的 fullName 方法,在 person1 上使用它:Bill Gates,Seatle,USA
第二步:源码解读 与 修改
这里早期版本的话,你需要修改: layui\lay\modules\layedit.js我的版本是:2.6.8 改是的: \layui\layui.js方便你查看代码可以使用JS代码格式化工具jsDecoder JavaScript 格式化整理工具
2.2【*重点-只需要修改这里的代码】处理链接对象-在这个位置你需要修改下面代码块
* 请注意看代码里的注释
你需要增加下面代码块
/* 以下是需要增加的代码*/ if(i.text==undefined) { try{ if(l.context.children[0].nodeName==="IMG") { let _img=l.context.children[0]; i.text=''; e.text=i.text; } } catch(e){} } /* 以上是需要增加的代码*/
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~