我正在尝试更改密码字段的类型(从密码更改为文本)。问题是单击的项目(原始示例有eye
图片但当前演示我放置了文本{{1} })存在于元素的see
中。
我可以绑定after元素吗?我确信100%我们无法绑定after
元素。那么如何切换我的密码呢?
这是我的代码 https://jsbin.com/zeterucite/2/edit?html,css,js,output
after
答案 0 :(得分:0)
正如评论中所提到的,java脚本无法获取:after
伪元素。但有一些解决方法,例如在主元素上应用pointer-events: none;
,在演示代码中使用其伪元素上的pointer-events: all;
。
另一个选项是为包含:after
伪对象的整个主元素添加click事件处理程序,然后使用一些xy计算来确定单击是否在主要部分或伪元素上。
$('#myPassword').click( function(evt) {
if (evt.clientX > $(this).offset().left + 100 { //assume input element width is 100px
// ...
}
});
您可以使用e.clientX, e.clientY, e.pageX/Y, $(this).offset().top/left, $(this).outerWidth/outerHeight ...