Javascript ng单击不处理子输入标记(mozilla firefox)
我已经得到了上面的HTML脚本 父div具有单击功能。当我在firefox中单击子输入标记时,父项的单击事件不起作用,但在chrome中它工作正常。从输入标记中删除disabled将使其在mozilla上正常工作,但我要求禁用此输入标记Javascript ng单击不处理子输入标记(mozilla firefox),javascript,jquery,html,css,mozilla,Javascript,Jquery,Html,Css,Mozilla,我已经得到了上面的HTML脚本 父div具有单击功能。当我在firefox中单击子输入标记时,父项的单击事件不起作用,但在chrome中它工作正常。从输入标记中删除disabled将使其在mozilla上正常工作,但我要求禁用此输入标记 如何使其在firefox上工作而不从输入标签中删除disabled(禁用)您是否使用了readonly(只读)而不是disabled(禁用) <div ng-click="hello()"> <input type="password"
如何使其在firefox上工作而不从输入标签中删除disabled(禁用)您是否使用了readonly(只读)而不是disabled(禁用)
<div ng-click="hello()">
<input type="password" disabled>
</div>
我知道这是一个老问题,但由于我在完成angular 8项目时在同一个问题上浪费了大半个小时,我想我还是发布对我有用的答案吧 首先,这不是一个角度的问题,而是Firefox的问题。Firefox似乎根本不会从禁用的输入字段中触发单击事件。因此,单击输入时,没有要传播到父级的事件。有关详细信息,请签出此线程:。顺便说一句,我在对公认答案的评论中找到了这个解决方案,所以这要归功于 因此,解决此行为的最简单方法是向输入元素添加以下css样式:
<div ng-click="hello()">
<input type="password" readonly>
</div>
这可以防止元素对指针事件做出反应,这意味着指针事件也不会被禁用的输入“吸收”,并从父元素激发
请参见下面的完整示例:
函数hello(){
document.getElementById('demo').innerHTML='Hi there!';
}
div{
背景色:浅绿色;
光标:指针;
}
div输入:禁用{
指针事件:无;
}
ng click不应该是onclick吗?或者您正在使用angularjs?不,我正在使用Angular1 JS请显示父级单击和控制器-这是父级div…-这是我的孩子是的我有。但正如我提到的,我对应用程序的要求不允许我删除“禁用”,非常感谢!在同样的问题上,它确实帮助了我。
pointer-events: none;