如何设置jquery ui的自定义调整大小手柄?
问题描述:
我正在使用jquery ui来允许我的页面元素可以调整大小,但我想设置自定义手柄。我试过了我认为应该工作的东西,但事实并非如此。如何设置jquery ui的自定义调整大小手柄?
基本HTML是:
<div id="element_x" class="resizable">
<div id="overlay_x" class="element_buttons">
<div id="resize_element_x" class="resize_element ui-resizable-handle ui-resizable-se"><img src="images/site/handle_resize.png" border=0 title="Resize this element" /></div>
</div>
</div>
我把它像这样:
var reposition = '';
$(function() {
$(".resizable").resizable({
containment: "#viewPage",
handles: {"e,s,se" : { e: '.ui-resizable-e', s: '.ui-resizable-s', se: '.ui-resizable-se'}},
resize: function(event, ui){
reposition = ui.position;
}
});
});
这将产生正确的手柄在正确的地方,但是当我尝试调整,它只是没有按什么都不做!任何人都可以看到有什么不对,或建议更好的方法来做到这一点?
谢谢!
答
根据http://esbueno.noahstokes.com/post/426818005/jquery-ui-resizable-custom-handle-syntax,您的自定义句柄语法是错误的。这个工作对我来说:
var reposition = '';
$(function() {
$(".resizable").resizable({
containment: "#viewPage",
handles: { 'e': '.ui-resizable-e', 's': '.ui-resizable-s', 'se': '.ui-resizable-se'},
resize: function(event, ui){
reposition = ui.position;
}
});
});
答
The solution is not mine, but it shows exactly what the problem and the solution is:
<p><a href="http://bugs.jqueryui.com/ticket/4310">jQuery UI #4310</a> - Custom resizable handles do not work unless the ui-resizable-xy and ui-resizable-handle classes are added.</p>
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<link href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
<div class="container">
<div class="border bottom_right ui-resizable-se ui-resizable-handle"></div>
</div>
<script>
$(function() {
$('.container').resizable({
handles: { se: '.bottom_right' }
});
});
</script>
对我来说,它的工作原理! :)
您是否在控制台中发现任何错误? – 2011-04-15 17:41:40