jQueryUI Ressize able 在选项更改时没有响应
jQueryUI Resizable doesn't respond on option change
我使用 jQuery UI 可调整大小模块,当我在初始化后尝试传递选项时,它看起来没有反应。
所以如果我初始化元素:
$('.blabla').resizable();
然后尝试添加选项:
$('.blabla').resizable("option","aspectRatio",true);
什么也没发生。通过逐个选项检查,我发现其中一些有效,有些则无效......问题出在哪里?当然,"纵横比"不起作用,而"幽灵"有效。
这是简单的jsfiddle:http://jsfiddle.net/k8gY8/1/
这
似乎是一个已知问题:http://bugs.jqueryui.com/ticket/4186
因此,按照建议,您可以覆盖原型mouseStart
事件:
$(function () {
$.extend($.ui.resizable.prototype, (function (orig) {
return {
_mouseStart: function (event) {
this._aspectRatio = !! (this.options.aspectRatio);
return (orig.call(this, event));
}
};
})($.ui.resizable.prototype["_mouseStart"]));
});
在您的代码顶部,il 将起作用。
演示:http://jsfiddle.net/ajYgM/
Jquery UI 中存在一个错误。特别是,那个已经快5(五!!)岁了,在jquery ui论坛上被多次报道。这是门票:http://bugs.jqueryui.com/ticket/4186
当前的解决方法是这样的:
(function() {
var oldSetOption = $.ui.resizable.prototype._setOption;
$.ui.resizable.prototype._setOption = function(key, value) {
oldSetOption.apply(this, arguments);
if (key === "aspectRatio") {
this._aspectRatio = !!value;
}
};
})();
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- IIS动态HTTP响应标头
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Ajax响应转换
- 使Intro.js工具提示响应
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 将高图饼图中的文本居中显示为响应
- Css转换没有响应
- jQueryUI Ressize able 在选项更改时没有响应