第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Fabric.js 激活輸入框

標(biāo)簽:
Html5 JavaScript CSS3

本文简介

点赞 + 关注 + 收藏 = 学会了


HTML 中,input 输入框有2种方法自动聚焦,最简单的是在 input 标签上添加 autofocus 属性。

再次点的方法是使用 JS 获取输入框元素,再调用 focus 事件选中输入框。

Fabric.js 中,IText 组件也提供了类似的方法。



实操

Fabric.jsIText 是一个可编辑文本框,可以在项目运行时输入文字,功能其实和 HTMLinput 差不多,都是可以让用户输入。


默认情况

Fabric.js 中,如果在创建 IText 时没有添加文字,在画布上你是很难用肉眼观察出你的输入框在哪的。

file

<canvas id="canvasBox" width="600" height="600" style="border: 1px solid #ccc;"></canvas>

<!-- 引入 Fabric.js -->
<script src="https://cdn.bootcdn.net/ajax/libs/fabric.js/521/fabric.js"></script>

<script>
  const canvas = new fabric.Canvas('canvasBox')
  
  const iText = new fabric.IText('', {
    left: 100, // 输入框离画布左侧距离
    top: 100, // 输入框离画布顶部距离
    padding: 7 // 设置输入框内边距
  })
  
  canvas.add(iText) // 将输入框添加到画布中
</script>

此时画布和输入框是被创建出来了,但凭肉眼是很难找到输入框在哪。


激活输入框

想要解决上述问题,可以激活输入框。

file

// 省略部分代码
iText.enterEditing()

enterEditing() 方法可以激活输入框。此时可以看到光标所在的位置一闪一闪的。


再进一步

使用 enterEditing() 后输入框是激活了,也能看到光标一闪一闪。

但这就完了吗?

我们还可以再进一步,配合 Fabric CanvassetActiveObject() 方法,激活被选中的对象。

这样选中输入框的效果会更加明显。

file

// 省略部分代码

canvas.add(iText).setActiveObject(iText)

iText.enterEditing()

从上图可以对比出,加上 setActiveObject() 后,呈现出来的效果更加明显了。



总结

Fabric.js 其实并不难,它比起直接使用原生 Canvas 要简单多了。

使用 Fabric.js 最主要是多看文档,然后把多个 api 结合起来使用,就能创造出多种效果~



代码仓库



點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消