如何获取大量的formId,求助大神解答!!
发布于 7 年前 作者 myu 1531 次浏览 来自 问答

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

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

<button>

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

</button>

</form>

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


<form>

<button></button>

</form>



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

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

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

10 回复

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

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

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

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

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

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

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

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

典型的欠封号

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

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

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

期待这个答案

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

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

回到顶部