ASP.NET实现密码显示/隐藏按钮jQuery代码无响应是否需引入配套CSS?
关于样式文件是否可以省略
你提到的Font Awesome和Bootstrap两个CSS样式库完全可以省略,它们仅负责控件的外观渲染(比如眼睛图标展示、页面布局样式),和JS脚本的逻辑执行没有任何关联,不会影响密码显隐的功能实现,只是省略后你需要自行给交互按钮添加基础样式,保证用户能看到可点击的控件即可。
你当前脚本无效果的常见排查点
你的实现本质是纯前端DOM操作,和AJAX没有关系,不需要用到AJAX相关的能力,脚本失效大概率是以下问题导致的:
- 选择器漏加ID前缀:ASP.NET输出的
ClientID是DOM元素的id属性值,jQuery选择id元素必须加#前缀,你当前的选择器写法是错误的,修改方式如下:// 错误写法 $("<%=showP.ClientID %>") // 正确写法 $("#<%=showP.ClientID %>") // 密码框选择器同理要加#前缀 $("#<%=txtPassword.ClientID %>") - DOM属性修改方法不兼容:修改input原生的
type属性建议用prop方法替代attr,高版本浏览器下attr修改type可能不生效,示例:$("#<%=txtPassword.ClientID %>").prop('type', 'text'); - 控件校验:确认你的页面上存在两个带
runat="server"标识的ASP.NET控件,id分别为txtPassword(密码输入框)和showP(交互按钮/复选框),如果控件id不匹配或者没加runat="server",<%=xxx.ClientID %>会直接报错导致脚本不执行。 - 事件逻辑冲突:你同时给控件绑定了hover悬停事件和click点击事件,两个事件的逻辑会互相冲突,建议保留一个你需要的交互逻辑即可。
内容的提问来源于stack exchange,提问作者notGoodAtThis
相关产品推荐
相关产品推荐

