Jinja2模板javascript代码块内jQuery fadeOut效果不生效问题求助
问题原因
- 事件绑定时机错误:JS代码执行时页面DOM还未完全渲染,找不到
#email、#user_accounts对应的元素,事件绑定直接失效,不会触发后续逻辑。 - 事件类型不符合需求:
change事件只有在输入框失去焦点时才会触发,无法实现输入内容实时触发显隐的效果。 - 原渐变时长设置为1ms,视觉上和直接切换显隐几乎无差异,容易被误判为效果未触发。
修正后代码
{% extends "layout.html" %} {% block javascript %} <script type="text/javascript" charset="utf-8"> // 等待DOM全部加载完成后再执行绑定逻辑 $(function() { // 改用input事件,输入内容实时触发 $('#email').on('input', function () { // 新增trim处理,避免用户输入空格被判定为有效内容 var len = $('#email').val().trim().length; if (len > 0) { $("#user_accounts").fadeOut(100); } else { $("#user_accounts").fadeIn(100); } }); }) </script> {% endblock %} {% block body %} <!-- About Section --> <section id="about" class="bg-light-gray"> <div class="container">
内容的提问来源于stack exchange,提问作者user1601716
相关产品推荐
相关产品推荐

