0
onclick我有一个函数,当使用滑块时,它将更改文本框的值。它被传递,其具有文本框以更新为一个值的事件变量:手动触发一个文本框传入参数
function updateTextBox(e){
$(e.data.textbox).val($(this).slider('option','value')); //this line works great
$(e.data.textbox).change(); //this line works fine in Chrome, but not IE.
}
要绑定我传递函数(简化):
slinder.bind('slide', {textbox : '#idOftextbox'}, updateTextBox);
IE只自动执行改变事件第一行,但然后在第二行发出错误“对象不支持此对象或方法”。但是Chrome不会通过设置值来自动触发更改事件,因此需要第二行。任何想法如何解决这个问题,而不诉诸用户代理检测。
alert(e.data.textbox.change); //给我所有浏览器的函数定义,但不喜欢添加括号。
我甚至试过的eval(e.data.textbox.change)没有任何的运气...
只是要注意的。我很满意我滑块的工作方式,所以我不想替换它。事件如何“冒泡”到文本框中。
是#idOftextbox唯一的吗?如果您尝试触发表单元素以外的其他事件,可能会导致一些问题。 – Capsule 2011-03-28 13:20:51
[获取jQuery以识别.change()in IE](http://stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie) – Kon 2011-03-28 13:20:58
@Capsule #idOftextbox是唯一的,始终是一个输入元素。不是很重复,因为这是textb牛的如此回答将无法正常工作,因为点击事件与更改不一样。 – Yule 2011-03-28 13:27:24