这是jsfiddle:http://jsfiddle.net/xpkFf/330/ 如果您打开对话框,输入用户名和密码,按下按钮并获得Firefox的“记住我的密码”提示,如果点击下拉列表导致提示,则第一次从下拉列表中选择一个选项时,onchange将无法工作解雇有人知道解决方法吗?
编辑:Jsfiddle似乎失败了,如果有人可以重现我的问题,这里有一个jsbin http://jsbin.com/wecasehanu/1/
HTML
<div id="dialog">
<form autocomplete="off">
<input id="username" type="text"/>
<input id="password" type="password"/>
<button type="submit" style="height:30px;width:30px;"/>
</form>
</div>
<a href="#" id="open">Open dialog</a>
<select id="ih8ff">
<option>1</option>
<option>2</option>
</select>
Javascript
$('#open').click(function() {
$('#dialog').dialog('open');
});
$('#ih8ff').change(function(){
alert("changed");
});
$('#dialog').dialog({
autoOpen: false,
modal: false
});
答案 0 :(得分:2)
请改用on input
。 Chrome和Safari的处理方式与Firefox不同change
。但是,input
事件的处理方式相同。
$('#open').click(function() {
$('#dialog').dialog('open');
});
$('#ih8ff').on("input change",function(){
alert("changed");
});
$('#dialog').dialog({
autoOpen: false,
modal: false
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="dialog">
<form autocomplete="off">
<input id="username" type="text"/>
<input id="password" type="password"/>
<button type="submit" style="height:30px;width:30px;"/>
</form>
</div>
<a href="#" id="open">Open dialog</a>
<select id="ih8ff">
<option>1</option>
<option>2</option>
</select>
&#13;
答案 1 :(得分:0)
终于找到了一个黑客围绕它。这是一个显示它的jsfiddle:http://jsfiddle.net/xpkFf/332/ 在测试之后,除了鼠标之外单击下拉列表后所有事件都被取消了,所以我只是捕获了鼠标的坐标并确保我在选择框中。我将错误提交给了mozilla,希望他们能解决它。
代码
$('#open').click(function() {
$('#dialog').dialog('open');
});
var ddstate;
$('#ih8ff').change(function(){
alert("changed");
});
$('#ih8ff').click(function(){
if(ddstate==undefined)
ddstate=true;
});
$('#dialog').dialog({
autoOpen: false,
modal: false
});
$(window).mouseup(function(e) {
if(ddstate){
var x= e.clientX;
var y= e.clientY;
if(x > 85 && x < 119 && y > 42 && y < 62)
{
$("#ih8ff").val("2");
$('#ih8ff').change();
ddstate=false;
}
}
});