javascript - 如何在不刷新窗口的情况下捕获输入类型 'text' 的值更改事件?

标签 javascript jquery html typescript

每当我从下拉列表中选择任何值时,页面都会刷新(点击了我不想要的窗口元素)。

第一个 TS 文件在从下拉列表中选择元素时动态插入输入字段值

private inputboxTrayselectionString: string = "*[data-type='tag']";       
base.$inputbox = base.$rootElement.find(base.inputboxTrayselectionString).eq(0);
base.$inputbox.val(dataArr.toString()).change();

$(window).click(function(e) {
   console.log('window clicked'); 
   base.$optionTray.hide();
});

=> 捕获事件的第二个 TS 文件

this.filterElByTagnew = $(this.rootElementSelectionString + ' input[data-type="tag"]');   
this.filterElByTagnew.on('change', function (e) { self.cummulativeOnChangeHandler();}); 

显示下拉列表的 HTML

<div class="eG2Col blog-inline-form">
   <label>Filter:</label>
   <div class="js-multiselectDropdown">
      <div style="background-color: white">
         <div class="action-btn " data-action="colex">    <span>Choose Tag</span></div>
         <input type="text" data-type="tag" >
         <div class="eG2Col list-show" data-action="option-tray">
            <ul></ul>
         </div>
         <div data-action="checkbox-tray" class="hidden">
            <input type="checkbox" value="5G" />5G</br>
            <input type="checkbox" value="Connectivity"  />Connectivity</br>
            <input type="checkbox" value="Digital transformation" />Digital transformation</br>
            <input type="checkbox" value="Radio system"  />Radio system</br>
            <input type="checkbox" value="Mobile"  />Mobile</br>
         </div>
      </div>
    </div>
 </div>

最佳答案

单击下拉菜单与其进行交互是有意义的。通过称为事件冒泡的机制,此点击计为对窗口的点击,因为该窗口是下拉列表的祖先。

处理下拉菜单上的click 事件并调用stopPropagation以防止祖先上的事件处理程序运行。

关于javascript - 如何在不刷新窗口的情况下捕获输入类型 'text' 的值更改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196970/

相关文章:

jquery: append 一个div会导致鼠标悬停/鼠标悬停循环

HTML/CSS 表格。只有 6 个一定数量的列,然后表格在下面再次开始

html - 下拉菜单 CSS 不起作用

javascript - 使用 Lodash 按属性合并对象数组

javascript - Request-URI Too Large window.open - 解决方法

javascript - Owl Carousel 高度调节

html - 将子元素 <div> 放置在固定位置的父元素 <div> 中

javascript - 检查对象是否具有javascript中的一组属性

javascript - 如何在Javascript中从一个函数访问另一个函数的变量?

javascript - 将数组传递给函数 - PG 和 NodeJS