Javascript 如何仅为非隐藏媒体查询类触发JS事件?
对于手机和桌面(媒体查询),我几乎没有相同类名的输入html标记 有时,Javascript 如何仅为非隐藏媒体查询类触发JS事件?,javascript,jquery,responsive-design,event-handling,dom-events,Javascript,Jquery,Responsive Design,Event Handling,Dom Events,对于手机和桌面(媒体查询),我几乎没有相同类名的输入html标记 有时,$(“.className”).val()是空的,因为它从隐藏的html标记中获取值 $(“.className”).val()应仅从非隐藏的html标记中获取值 Html- <div class="mobileDiv"> <input type="text" class="searchItem"> <input t
$(“.className”).val()
是空的,因为它从隐藏的html标记中获取值
$(“.className”).val()
应仅从非隐藏的html标记中获取值
Html-
<div class="mobileDiv">
<input type="text" class="searchItem">
<input type="text" class="searchCategory">
</div>
<div class="desktopDiv">
<input type="text" class="searchItem">
<input type="text" class="searchCategory">
</div>
如何实现这一点?使用$(“.searchItem”)。val()
将始终返回在页面中找到的第一个值
在事件处理函数中,这是事件实际发生的元素
$(document).on('keyup','.searchItem',function()){
设val=$(this.val()
console.log(val)
});代码>
input.mobileDiv{display:none}
ok此
仅获取searchItem
类的值。如果我想在searchItem
事件中获取其他类值怎么办?比如什么?你需要更具体一些,因为问题中没有提到类似的内容。我稍微修改了一下问题。您可以查看一下吗?您可以包括:visible
选择器或用于建议$('.className:visible').val()
它可以工作。请修改您的答案,以便我可以接受您的答案:)
// Same code is shared for both mobile and desktop
$(document).on('keyup', '.searchItem', function() {
val = $(".searchItem").val()
categoryVal = $(".searchCategory")
// cannot use "this" because other class values are also needed on this event
});