【问题标题】:disable touch on the pseudo content of an element禁用对元素伪内容的触摸
【发布时间】:2017-07-31 09:44:52
【问题描述】:

实际上我有一个切换按钮组件,我使用 ::before 伪类将文本插入其中。现在,当我单击切换的按钮文本时,切换按钮状态会发生变化。如何避免这种情况?

离子 2 代码:

<ion-item>
    <ion-label>some content</ion-label>
    <ion-toggle (ionChange)="someMethod($event)"></ion-toggle>  
</ion-item>

类:

 .toggle-icon {
    display: inline-block !important;
}

.item-inner {
    display: block;
}

ion-toggle::before {
    content: "Set as Default";
    padding-left: 11%;
}

要求:我只能使用上述方案创建我需要的视图。

预期:我希望在单击切换按钮时调用 someMethod(),而不是伪文本。

感谢您的帮助!!

【问题讨论】:

  • 方法现在没有被调用?
  • someMethod() 在我们点击“设为默认值”文本时调用,我想删除此行为。

标签: html css angular ionic2


【解决方案1】:

不可能将事件监听器附加到一个元素,但排除该元素的伪内容。原因是:伪内容不是 DOM 的一部分,因此不能从元素选择中排除。

但是,您可以通过检查点击/触摸位置来侦听元素(连同其伪内容)并在事件侦听器函数(在本例中为someMethod)内排除。以fiddle 为例。

附言在您的情况下,我猜:before 伪内容用于标记切换按钮?如果是,&lt;label&gt; 标签更合适。

【讨论】:

  • 感谢您的回答,我正在尝试此操作,因为我们无法将 ion-toggle(切换按钮及其标签)与 ion-item 中的其他内容一起放置,因此我正在尝试替代解决方案。
  • @SandeepSharma 您的问题得到了正确回答吗?如果是,也许您可​​以“接受”这个答案?
猜你喜欢
  • 1970-01-01
  • 2020-04-10
  • 2017-02-02
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多