Javascript 如何将事件处理程序绑定到<;选项>;
这是我的密码:Javascript 如何将事件处理程序绑定到<;选项>;,javascript,jquery,Javascript,Jquery,这是我的密码: $(".multiple").each(function() { $(this).bind("mousedown",function() { alert(); }); }); 以下是它适用于的HTML: <select> <option value = "textbox">TextBox</option> <option class = "multiple" value =
$(".multiple").each(function() {
$(this).bind("mousedown",function() {
alert();
});
});
以下是它适用于的HTML:
<select>
<option value = "textbox">TextBox</option>
<option class = "multiple" value = "multiplechoice">MultipleChoice</option>
<option class = "multiple" value = "dropdown">DropDown</option>
</select>
文本框
多重回声
下拉列表
我希望看到某种警报框,但它似乎不起作用。如何修复此问题?我不确定是否可以将事件绑定到
选项
元素,因为它们是由浏览器绘制的,并且属于一次渲染(我认为)
但是,你可以这样做
$('select').change(function() {
alert('Selected is ' + $(this).find('option:selected').text());
});
.我不确定是否可以将事件绑定到
选项
元素,因为它们是由浏览器绘制的,属于一次渲染(我认为)
但是,你可以这样做
$('select').change(function() {
alert('Selected is ' + $(this).find('option:selected').text());
});
.可能是这样的吧
$('.multiple').change(function(){
alert('something');
});
HTML:
文本框
多重回声
下拉列表
可能是这样的吧
$('.multiple').change(function(){
alert('something');
});
HTML:
文本框
多重回声
下拉列表
不要去那里-根据经验。这不是一个跨浏览器的解决方案。
我的建议是,在select的“change”事件中,测试当前选择的选项是否具有“multiple”类,如果是,则运行特定的逻辑。不要去那里-根据经验。这不是一个跨浏览器的解决方案。
我的建议是,在select的“change”事件中,测试当前所选选项是否具有“multiple”类,如果是,则运行特定逻辑。您可以捕获select上的事件,并按选项类对其进行过滤
$('select').change(function() {
var o = $(this).find('option:selected');
if ('multiple' != o.attr('class')) {
return;
}
alert('Clicked: ' + o.text());
});
您也可以使用
click()
而不是change()
来获得不会导致更改的单击,但是如果您的选择是size=“1”
,您将获得也会下拉选择的单击。这种方法要求事件处理程序考虑误报,因此不鼓励使用。您可以在select上捕获事件,并按选项类对其进行过滤
$('select').change(function() {
var o = $(this).find('option:selected');
if ('multiple' != o.attr('class')) {
return;
}
alert('Clicked: ' + o.text());
});
您也可以使用
click()
而不是change()
来获得不会导致更改的单击,但是如果您的选择是size=“1”
,您将获得也会下拉选择的单击。这种方法需要您的事件处理程序对误报进行解释,因此不鼓励使用这种方法。存在一个问题。。。当用户单击已选择的选项时,事件将不会触发此问题。。。当用户单击已选择的选项时,事件将不会触发此问题。。。当用户单击已选择的选项时,不会触发该事件,因此他也可以注册以单击选择并右键,只有当src元素是选项标记(而不是更改)时,才能使用相同的逻辑。我们将,我的错。似乎在所有情况下,“select”都是src元素。但是,您可以将此小提琴视为解决方案。我所做的是注册到click事件,现在我可以控制执行部分逻辑,如果值已经更改,而其他部分没有更改。基本上我们有完全的控制权:那里有个问题。。。当用户单击已选择的选项时,不会触发该事件,因此他也可以注册以单击选择并右键,只有当src元素是选项标记(而不是更改)时,才能使用相同的逻辑。我们将,我的错。似乎在所有情况下,“select”都是src元素。但是,您可以将此小提琴视为解决方案。我所做的是注册到click事件,现在我可以控制执行部分逻辑,如果值已经更改,而其他部分没有更改。基本上我们有完全的控制权:那里有个问题。。。当用户单击已选择的选项时,事件将不会触发此问题。。。当用户单击已选择的选项时,不会触发事件alert()代码>没有显示任何内容,因为第一个参数是必需的。指定任何参数以使其工作。即使void 0
也可以完成此任务。我通常使用alert(0)
进行快速调试代码>没有显示任何内容,因为第一个参数是必需的。指定任何参数以使其工作。即使void 0
也可以完成此任务。我通常使用alert(0)
进行快速调试。