HTML 输入框未触发事件
Posted
技术标签:
【中文标题】HTML 输入框未触发事件【英文标题】:HTML Input box is not triggering the events 【发布时间】:2012-08-23 13:01:55 【问题描述】:我有以下一点 javascript:
功能选择(ID,EVT) var e = (typeof evt != 'undefined') ? evt:事件; e.cancelBubble =真; 警报('错误'); var $toggler = $("#building"+id); if(!$toggler.is(':checked')) $toggler.attr('checked', true); $("#row"+id).removeClass("selectRow"); $("#row"+id).addClass("selectRow");我有以下<html>
块
<td>
<select onchange="select(2, event);" name="prefferedAgent396" class="input-small">
<option value="0">Choose...</option>
<option value="1" selected=""> Senthil </option>
<option value="3"> Sunmeet </option>
<option value="4"> Doesnot Speak English </option>
<option value="5"> Marcus Fava </option>
</select>
</td>
<td>
<input type="text" onchange="select(2, event);" class="input-mini" id="initial396" name="initial396" value="">
</td>
现在的问题是onchange
事件触发了select
控件的select(2, event)
,而不是input
控件。当我尝试使用alert
框时,我调用select()
,它起作用了,但它不仅仅是调用select()
。我尝试过onKeyUp
,但它给出了一种奇怪的行为,即在我键入时替换文本。我在这里做错了什么?
【问题讨论】:
我会将该警报移动到您的选择功能的顶部,以防您的取消气泡代码中有某些内容被破坏。当您触发此事件时,您是否查看过控制台报告的内容? (例如在 Chrome 开发工具或 Firbebug 等中) 没有错误什么都没有。我检查了控制台。我也删除了取消气泡代码。没有运气!! 【参考方案1】:这非常很奇怪。如果您将函数从 select
重命名为 select_
,它将起作用。但由于您已经在使用 jQuery,您可以使用以下内容而不是使用内联 change
处理程序:
$("#prefferedAgent396,#initial396").change(function (e)
select(2, e);
);
这是一个DEMO。
【讨论】:
我之前也遇到过类似的问题,但这次我不想再想了。谢谢!!以上是关于HTML 输入框未触发事件的主要内容,如果未能解决你的问题,请参考以下文章