0

我有一个问题,不确定它有多复杂,但我一直未能找到解决方案,并且我花了相当多的时间进行故障排除和谷歌搜索解决方案。

这是我的问题,我的页面上有一个 jQuery UI 滑块。

我使用 Ajax 插入了一个新值,它基本上重建了 Slider。

一切都很完美。问题是我的所有键绑定都被删除了。(我知道解决方案)。

问题出现在我通过在小部件的根目录更改鼠标事件之前删除它。

在 Slider 重建后,我不能只记得这一点,我不明白为什么,但它不像在第一页加载时那样工作。

这是我禁用滑块点击跟踪器的代码。

// Disable the mouse tracking for ui-slider-handle(s)
$.widget('ui.slider', $.ui.slider, {
    _mouseCapture: function(e) {
        return (!$(e.target).is(this.element)) ? this._super(e) : false;
    }    
}); 

其中没有任何内容是特定于滑块本身的,因为这会更改滑块小部件本身。

为了清楚起见,我只是想将某个绑定鼠标事件删除到 Jui Slider。

上面的代码可以做到这一点,但是一旦我通过 Ajax 用新值重建滑块,它就不起作用了。

$('#slider').unbind();

上面的 unbind() 函数删除了所有绑定,使滑块不起作用,只是视觉效果。

4

1 回答 1

0

我通过在我的框架中添加 2 行作为 Yii 的框架特定代码来解决它。

Yii::app()->clientScript->scriptMap['*.js'] = false;
Yii::app()->clientScript->scriptMap['*.css'] = false;

它不允许脚本在页面上重新初始化。

于 2013-09-20T15:40:02.970 回答