我有一个页面,在某些屏幕尺寸下,有一个文本输入框,而在其他屏幕尺寸下则变为一个选择框。
挑战在于:我想要获取输入框或选择框的值,并在键盘按键或更改时进行操作,同时避免重复代码。因此,我使用相同的ID命名这些元素,因为它们不会同时显示,然后通过如下方式查找元素:例如,使用
以下是代码:
挑战在于:我想要获取输入框或选择框的值,并在键盘按键或更改时进行操作,同时避免重复代码。因此,我使用相同的ID命名这些元素,因为它们不会同时显示,然后通过如下方式查找元素:例如,使用
#ID:visible
进行查找。以下是代码:
$('#test:visible').on('keyup change', function(){
alert($(this).val());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div style="display: none">
<input id="test">
</div>
<select id="test">
<option value="10">10</option>
<option value="20">20</option>
</select>
问题
这根本不起作用。我已经阅读了jQuery可见选择器页面,看起来我是按照正确的方式进行操作,但警报根本没有触发。
我是否误解了它的工作原理?