如何获取大量的formId,求助大神解答!!

发布于 8 年前作者 myu1645 次浏览最后编辑 8 年前来自 ask

如题所问,因为业务需要大量的推送消息,所以要获取大量的formId,因为通过事件冒泡来实现获取formId改动很大,所以打算做个button的遮罩层组件来获取formId,

1.通过冒泡事件实现 <form>

<button>

<页面数据></页面数据>

</button>

</form>

2.<页面数据></页面数据>


<form>

<button></button>

</form>



button的样式需要要写成隐藏遮罩一样

通过冒泡事件来实现获取formId可行,但是代码改动麻烦,所以想通过第二种做个button组件来实现,

请问大神们如何实现点击事件穿透???新人求助

10 回复
jing60
jing601 楼6 年前

你这属于歪门邪道啊,兄弟~

taoming
taoming2 楼6 年前

熟悉一下 CSS 的层叠上下文,层叠上下文元素高于普通元素,或者,父级同层时比较子级层级,

意味着拔高一些需操作部分,button 在其之下,其他依旧在底层。

项目中已实测过,方案可行。

但如果你想操作部分也是即要能操作也要能获取 formId,

理论上哈,推荐写个组件吧,感觉改动不算太大,

每个操作部分以 slot 传进去,button 覆盖在其上,触发 submit 时也外放出 click 方法。

样式方面嘛,感觉有点难搞。可以一起试验一下。

taoxu
taoxu3 楼6 年前

典型的欠封号

li21
li215 楼6 年前

为何如此优秀的问题没有人回答呢~~

xueyang
xueyang6 楼6 年前

简单,所有的能点击变成button,button你的改下(参考weui.io,主要小程序after,before看不见,不过与weui.io写法一样),然后把form隐藏,每次点击都会获取formId(手机端才能获取,很重要),发请求存入表(openid,formId必存),这个formId7天有效,用一个删一个,就这么简单

guiyingwu
guiyingwu7 楼6 年前

穿透,穿透, 我要穿透。 啊 ~~

yangong
yangong8 楼6 年前

期待这个答案

tsong
tsong9 楼6 年前

观望观望,也想收集大量formid

zhangxiuying
zhangxiuying10 楼6 年前

这里写成这样。点击form的时候传递一个formId,如果有openId也一起传给后端。后端绑定openId和formId 就可以给他推送了。至于想要多个formId 只需要在所有用户有点击的地方 都使用form嵌套button 就可以了。