onblur事件改为监听处理

原本
<input id="TextBeiZhu" type="text" value='<%# Eval("BeiZhu") %>' onblur="update(event);" />

这是直接在文本框,onblur对象失去焦点时处理一些事件,如上的代码中,是失去焦点时对数据进行更新。

本篇随笔,是想把onblur改为监听处理。

把上面的html markup改为:
  <%-- <input id="TextBeiZhu" type="text" value='<%# Eval("BeiZhu") %>' onblur="update(event);" />--%>
   <input id="TextBeiZhu" type="text" value='<%# Eval("BeiZhu") %>' />

 

然后在javascript中,使用addEventListener()业监听。
2026-05-07_11-36-27

 

  ////onblur事件
  //function update(event) {
  //        updateBeizhuByTextBox(event.target)
  //            .catch(console.warn);
  //    }

  document.addEventListener('blur', function (e) {
      var target = e.target;
      var inputId = document.getElementById('TextBeiZhu');
      if (target && typeof target.getAttribute === 'function' && target === inputId) {
          setTimeout(() => {
              updateBeizhuByTextBox(target).catch(console.warn);

          }, 50);
      }
  }, true); // 使用捕获阶段确保优先处理
View Code

 

代码运行效果,
66

 

posted @ 2026-05-07 11:59  Insus.NET  阅读(14)  评论(0)    收藏  举报