【发布时间】:2019-07-30 17:27:28
【问题描述】:
我有一个由 JQuery 多选下拉库生成的 HTML 标签结构,如图所示:
<label for="ui-multiselect-selectedSku-option-1"><input id="ui-multiselect-dropdown-option-1" type="radio" value="DropDownVal1"><span>DropDownText1</span></label>
<label for="ui-multiselect-selectedSku-option-2"><input id="ui-multiselect-dropdown-option-2" type="radio" value="DropDownVal2"><span>DropDownText2</span></label>
我的要求是:除了输入元素,每当用户点击其他任何地方
<label></label>
(包括标签)区域,我需要做event.preventDefault()。我试过了
$(document).on('click', 'label[for^="ui-multiselect-selectedSku-option-"]',function(event){
event.preventDefault();
});
但即使我点击标签内的<input> 也会触发上述处理程序(这很明显,我知道!)
我如何编写一个 JQuery 选择器来过滤它。
【问题讨论】:
-
当您不想要
<label>时,为什么还要使用<label>? O.o -
你好@Andreas。标记由 JQuery 多选库生成,我需要在其上编写脚本来自定义其行为
-
@surya 看看我的回答。
-
您的 JS 示例缺少
on()方法名称 -
@surya 你的
for也搞乱了整个逻辑的工作。
标签: javascript jquery html css user-interface