Javascript 隐藏元素,但保持其可单击?

Javascript 隐藏元素,但保持其可单击?,javascript,css,Javascript,Css,我在iframe中生成了一个按钮。不幸的是,我无法改变它的外观,因为它是由第三方库提供的。我想到了一个小技巧,使用我自己的按钮,并将生成的按钮放在里面: <button id="my-button">Click Me</button> 这似乎是一个很好的解决方案,因为我没有看到第三方按钮,我可以用我自己的按钮做任何我想做的事情。我只需要确保它不会比里面的按钮大,这会使我自己的按钮的一部分不可点击 我更喜欢的是在其他地方渲染另一个元素,并在我的视口外使用display:n

我在iframe中生成了一个按钮。不幸的是,我无法改变它的外观,因为它是由第三方库提供的。我想到了一个小技巧,使用我自己的按钮,并将生成的按钮放在里面:

<button id="my-button">Click Me</button>
这似乎是一个很好的解决方案,因为我没有看到第三方按钮,我可以用我自己的按钮做任何我想做的事情。我只需要确保它不会比里面的按钮大,这会使我自己的按钮的一部分不可点击

我更喜欢的是在其他地方渲染另一个元素,并在我的视口外使用
display:none
position:absolute
将其隐藏,然后在其内部触发单击。由于现代CORS政策,据我所知,不可能接触到
中的元素-我说得对吗


有没有更可靠的方法来达到同样的效果而不需要太多的欺骗?我对不透明性不太感兴趣:.0001,这让我担心在某些浏览器中会留下其他按钮的可见痕迹。

出于安全原因,不可能让父元素触发在iFrame中单击按钮(或任何其他元素)。

尝试显示:无css属性“这似乎是一个很好的解决方案”-它是无效的HTML(
按钮
不得包含其他交互元素,
iframe
就是其中之一),所以这在很大程度上取决于浏览器的错误纠正首先是如何实现的。与其担心它可能会留下一些可见的痕迹,我更担心的是,这会被检测为一次点击劫持企图…@misorude如果你愿意,他或她会欺骗人们点击任何东西。它是的,但为打击点击劫持而开发的系统会寻找可疑的行为/行动,他们不太可能费心去确定你的实际意图。我只是想调整按钮的外观以匹配我的应用程序,仅此而已,我们不知道你在那里嵌入了什么样的小部件以及它是做什么的……在考虑这样的解决方案之前,应该记住这样的话。这是很可能的,但在跨域的情况下是不可能的(除非你控制了这两个域)@Teemu是真的,但我想问这个问题的人会改变iFrame中的css,而不是尝试上面的方法。