javascript - 可调整大小的元素边框

标签 javascript jquery hover border children

我有一个名为“content”的 div。 “内容”的所有子 div 均可调整大小,并在悬停时获得边框,如下所示:

$('#content div').resizable({});
$('#content div').mouseleave(function(){
$(this).removeClass('borderClass');
});
$('#content div').mouseenter(function(){
$(this).addClass('borderClass');
});

问题是可调整大小元素两侧出现边框。 例子: http://jsfiddle.net/hyEhh/6/

我怎样才能给“内容”的所有子元素一个边框,除了当你放大div大小时出现在边线上的边框?

编辑* 我必须能够使用 javascript/jQuery 动态添加边框。这个 fiddle 只是一个例子,我希望能够在悬停时添加边框,无论“内容”中有多少个 div

我尝试过但不明白为什么不起作用的一件事是:

if(document.body.style.cursor = "n-resize") {
        $(this).removeClass('borderClass');
    }

最佳答案

它基本上是创建边框的可调整大小的 div,因为 resizble 会动态添加另一个 div(检查您的元素)...并且您的选择器适用于 #content 内的所有 div。一种方法是分别调用您需要悬停的所有元素...或者其他方式将由 resizeable 创建的所有 div 保留在选择器中...

试试这个

    $('#content div').resizable({});

$('div#test,div#test2').hover(function(){
     $(this).addClass('borderClass');
    },function(){

         $(this).removeClass('borderClass');
    });

并使用hover()而不是两个单独的事件处理程序...hover是mouseentermouseleave的简写

已更新

 $('#content div:not(".ui-resizable-handle")').hover(function(){
        $(this).addClass('borderClass');
    },function(){

        $(this).removeClass('borderClass');
    });

这没有选择动态创建的调整大小的 div。不需要在 HTML 中添加任何内容,只需使用 jquery not 方法...

fiddle here
updated fiddle

关于javascript - 可调整大小的元素边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15687541/

相关文章:

javascript - Zepto.js 不返回 false?

javascript - 将 div 覆盖在联系表的 div 上

javascript - 将另一个元素内容替换为悬停元素内容

jquery - 我正在尝试通过悬停在 jQuery 上切换我的类(class)。为什么 CSS 没有改变?

jQuery:我可以使用 z-index 来解决这个问题吗?

javascript - 如何在 JavaScript 中拆分具有多个分隔符的字符串?

javascript - 如何创建热键

javascript - 从具有隔离范围的指令内的指令访问 Controller

javascript - 获取选定复选框属性的数组

javascript - 数据表服务器端信息 + 带 2 个按钮的静态列