手动触发传递给参数的文本框的onclick

时间:2011-03-28 13:14:35

标签: jquery jquery-plugins

我有一个函数,可以在使用滑块时更改文本框的值。它传递一个事件变量,该变量具有要更新为值的文本框:

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不会通过设置值自动触发更改事件,因此需要第二行。任何想法如何解决这个问题而不诉诸用户代理检测。

警报(e.data.textbox.change); //给出了所有浏览器中函数的定义,但是不喜欢添加括号。

我甚至没试过eval(e.data.textbox.change)......

请注意。我对滑块的工作方式感到满意,所以我不想替换它。该事件如何被“冒泡”到文本框中。

1 个答案:

答案 0 :(得分:0)

这是因为我有两个绑定到滑块的事件,我认为这是不可能的,因为我认为这是不相关的。

slider.bind( '滑动',.... slider.bind( 'slidechange',...

当我摆脱e.textbox.change()行时,不确定为什么错误会消失,但是通过删除第二个侦听器来解决它