小编Py.*_*Py.的帖子

Chrome/Webkit内联块刷新问题

我发现的问题如下:

情况:我有整体div有一个inline-block显示器.里面是两个有inline-block显示的元素.

然后我<br/>在两个元素之间添加(感谢JavaScript).第二行转到下一行,这是正常行为.

Buggy部分:<br/>然后删除(再次使用JavaScript)并且......显示不会改变.似乎整个div的框不会重新计算.最后我有两个相似的标记,看起来不一样(这有点问题,不是吗).

它在Firefox上工作正常(它似乎是基于webkit的,因为Android浏览器的行为方式相同).所以我的问题是,是否有一种解决方法不使用会改变DOM的方法?使用的库是jQuery.

测试用例这里.

编辑:正如duri所建议的,我填写了webkit bugzilla中的错误报告,它就在这里.但我仍在寻找解决方法;)

javascript css webkit google-chrome

10
推荐指数
1
解决办法
2221
查看次数

根据子宽度扩展div宽度

这是我的小问题(这里的值只是示例):

可以说我有一个宽度约为500px的窗口.在我的文档中,我有一个没有指定宽度的外部div,但是下面的css:

.outer{
  white-space:nowrap;
  background:blue;
}
Run Code Online (Sandbox Code Playgroud)

在这个div里面是另外3个具有以下属性的div:

.t1{
  display:inline-block;
  width:400px;
}
Run Code Online (Sandbox Code Playgroud)

(注意问题的宽度400px.这就是问题所在,线条宽于窗口,外部div不会延伸.HTML看起来像这样:

<div class="outer">
    <div class="t1">1</div>
    <div class="t1">2</div>
    <div class="t1">3</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要实现的是让3个内部div具有蓝色背景,而不是为t1类设置它.这个例子将产生的是蓝色背景,仅限于窗口的宽度.

请参阅此处的完整示例:http://jsfiddle.net/sjCTR/(如果您的屏幕很大,则必须调整左下角)

我想知道是否可以通过css/html实现,不设置外部div宽度/内部div背景?

css whitespace nowrap

9
推荐指数
1
解决办法
1万
查看次数

Jquery - 为mouseout扩展'perimeter'的技术?

我想实现这样的行为,当鼠标指针悬停在某个div上时会触发mouseover/hover事件,但是当指针离开div时,mouseout事件不会触发,但是当它离开10px区域时我们就会触发div .

有没有办法实现这个不涉及创建一个更大的父div来绑定mouseout事件?

javascript jquery

7
推荐指数
2
解决办法
976
查看次数

是否可以使用jQuery Mobile动态创建元素?

我有一个使用jQuery构建的应用程序(并使用各种jQuery-UI工具).

出于某种原因,我必须将其移植到智能手机/平板电脑,并决定使用jQuery Mobile(为了尽量减少更改次数).

在我的vanilla应用程序中,我根据用户交互动态创建了页面的一些元素.

例如,可以像这样创建滑块(p是具有一堆参数的对象):

function createSlider(p){
     return $("<div/>",{
              "id":p.id,
              "class":p.divClass,
           }).slider({
              "orientation": p.align,
              "min":p.constraint.min,
              "max":p.constraint.max,
              "step":p.step,
              "value":p.curVal,
              "animate":"normal"
              /*and some event handling here, but it doesn't matter*/
           });

}
Run Code Online (Sandbox Code Playgroud)

它会产生一个漂亮的滑块.现在它看起来像:

function createSlider(p){
    return $("<range/>",{
           "id":p.id,
           "class":p.divClass,
           "min":p.constraint.min,
           "max":p.constraint.max,
           "step":p.step,
           "value":p.curVal,
    });   
}
Run Code Online (Sandbox Code Playgroud)

但是,由于它是在动态创建的,jQuery Mobile在页面加载上完成的所有工作都没有在它上面完成.

有没有办法强制初始化而不在html中编写滑块?

谢谢.

编辑:我在文档中发现它可以实现使用container.trigger("create"); 然而这还不行.

EDIT2:Ok create是解决方案.

javascript jquery jquery-mobile

6
推荐指数
1
解决办法
4772
查看次数

从点击的链接返回值时出现问题

我在这样的页面上有一组链接

<a href='' class='contact' data-index='1'>One</a>
<a href='' class='contact' data-index='2'>One</a>
<a href='' class='contact' data-index='3'>One</a>
Run Code Online (Sandbox Code Playgroud)

我试图在单击时返回每个链接的数据索引的值但是每当我点击每个链接时,总是返回第一个链接的数据索引,因为jQuery将选择所有带有class ='contact的链接'在页面上.我试图弄清楚如何选择被点击链接的数据索引.

我使用这样的东西:

var m_data = $("a#contact").attr("data-index");
Run Code Online (Sandbox Code Playgroud)

我也尝试过这样的事情:

$("a#contact").click(function() {
  var data = $(this).data('index');
});
Run Code Online (Sandbox Code Playgroud)

但数据未定义.

请问我该怎么做?谢谢.

javascript jquery

0
推荐指数
1
解决办法
66
查看次数