2017-10-13 62 views
2

基本上我有两个div,jQuery的输入事件触发仅

<div id="firstPage"></div>

<div id="details"> 
    <div id='searchBox' class='detail--searchBox'> 
     <input id='txtSearchTerm' name='txtSearchTerm' type='text'> 
    </div> 
</div> 

在页面加载与ID搜索框的文本框是隐藏的,它显示在点击与ID firstPage的div事件。我有以下功能,必须在文本框更改时触发。但是一旦页面被重新加载,这个输入事件就会被触发。

onSearchBoxOnDetailsChange: function() { 
    $("#searchBox").on("input", "#txtSearchTerm", function() { 
     var val = $(this).val().trim(); 
     val = val.replace(/\s+/g, ''); 
     if (val.length > 1) { 
      console.log(val); 
     } else { 

     } 
    }); 
}, 
+0

似乎为我工作的罚款。请编辑你的问题并提供[mcve]。 – Xufox

回答

2

编写代码象下面这样:

onSearchBoxOnDetailsChange: function() { 
    $(document).on("input", "#searchBox #txtSearchTerm", function() { 
    var val = $(this).val().trim(); 
    val = val.replace(/\s+/g, ''); 
    if (val.length > 1) { 
     console.log(val); 
    } else { 

    } 
    }); 
}, 
+0

谢谢,问题解决了我需要从'document'中搜索'#searchBox#txtSearchTerm'。 –

+0

如果这个答案有帮助,然后接受答案。 –