小编Has*_*own的帖子

如何在跨度中包装文本?

我有一个350像素宽的跨度.如果有比这更多的文本,它只是直接向右侧移到跨度的一侧.如何强制文本包装成段落?我尝试过各种各样的东西,我在网上找到了,似乎没什么用.

这需要适用于IE 6.如果它在Firefox中运行也会很好.

更新:

这里有更多信息.我正在尝试实施工具提示.这是我的代码:

HTML

<td style="text-align:left;" nowrap="nowrap" class="t-last">
    <a class="htooltip" href="#">
        Notes<span style="top: 40px; left: 1167px; ">
            <ul>
                <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.</li>
            </ul>
        </span> …
Run Code Online (Sandbox Code Playgroud)

html css internet-explorer word-wrap

24
推荐指数
3
解决办法
10万
查看次数

禁用或至少检测自动分号插入

我总是编写strict mode希望被屏蔽(或至少被强制告知要更改我的代码)与Javascript语言的问题,如使用弃用的方法或错误解释的语法.

但是我今天遇到了这个问题,我想知道是否有任何方法可以在浏览器中禁用分号插入,或者是否有类似于严格模式的'编译'时错误?

JS [H/L] int似乎没有能够接受JS解释器插入分号并标记它们以便我们减轻它的位置吗?


编辑

如果在关键字后面找到分号之前存在新行,则JShintJSLint都会出错return.但是,我不知道有关自动插入的其他警告以及它们是否也被检测到.
无论如何,如果答案实际上解决了"禁用"部分,那将更具相关性.

javascript syntax

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

使用 Fallthrough 时,bash 是否有与 case 语句等效的“default”?

case "$action" in
a|b)
    echo for a or b
;;&
b|c)
    echo for c or b
;;&
*)
    echo for everything ELSE
;;&
esac
Run Code Online (Sandbox Code Playgroud)

因此,正如您所看到的,我使用的;;&是而不是;;ifaction=b它将触发前两种情况。
然而,这样做的一个缺点是*)不再“意味着”“其他一切”,而是匹配“一切”;因此b也会触发最后一个。

PowerShell能够做我想做的事情,因为它有一个专用的default关键字,Bash有类似的东西吗?
诸如详尽的解决方法之类的怎么[!(a|b|c)])样?

做类似的事情会很方便case 5 in 4) echo bob; ;;& esac || echo DEFAULT,但case似乎不会返回任何代码。

bash switch-statement fall-through

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

JavaScript中的大型列表呈现

我试图基于虚拟渲染概念渲染列表.我面临一些小问题,但他们并没有阻止这种行为.这是工作小提琴http://jsfiddle.net/53N36/9/,这是我的问题

  1. 最后的项目是不可见的,我假设一些我错过了索引.(固定,请参阅编辑)
  2. 如果我想为此添加自定义滚动,如何计算scrollPosition.
  3. 这是最好的方法还是其他方法?

我用700000件物品和70件镀铬物品进行了测试.下面是代码

(function () {
var list = (function () {
    var temp = [];
    for (var i = 0, l = 70; i < l; i++) {
        temp.push("list-item-" + (i + 1));
    }
    return temp;
}());

function listItem(text, id) {
    var _div = document.createElement('div');
    _div.innerHTML = text;
    _div.className = "listItem";
    _div.id = id;
    return _div;
}
var listHold = document.getElementById('listHolder'),
    ht = listHold.clientHeight,
    wt = listHold.clientWidth,
    ele = listItem(list[0], 'item0'),
    frag = document.createDocumentFragment();
listHold.appendChild(ele); …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm progressive

4
推荐指数
1
解决办法
2722
查看次数

是否有一个vanilla函数来删除所有事件侦听器而不影响后代节点?

这个问题基本上就是我要问的问题,但是没有为后代节点删除事件的限制.

这个小提琴中,我尝试通过从DOM中删除它并将其放回来删除附加的侦听器.

function removeListeners(el) {
    var par = el.parentNode;
    var place = el.nextSibling;
    par.removeChild(el);
    par.insertBefore(el, place);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,你仍然可以点击以获得改变的背景(这实际上很好,我从来不知道你可以附加没有元素在DOM中的事件).

鉴于这一发现我试过这个

function removeListeners(el) {
    var par = el.parentNode;
    var clone = el.cloneNode(false);
    par.replaceChild(clone, el);

    for (var index = 0; index < el.childNodes.length; ++index)
        clone.appendChild(el.childNodes[index]);
}
Run Code Online (Sandbox Code Playgroud)

尝试做一个浅层克隆,然后将所有后代复制回来,但它不会复制所有孩子.

上述问题的回答说:"[如果你想有孩子们保持他们的听众]你将不得不求助于明确地去除听众一次一个".我不知道你将如何实现这一点.
我认为他的意思是获取事件类型列表并依次删除每个事件的侦听器(如jQuery可以).这不仅对自定义事件不可能,而且vanilla JS 没有这样的功能(您必须指定要删除的功能).

javascript javascript-events

4
推荐指数
1
解决办法
1140
查看次数

jQuery返回的对象的实际类型是什么

就像$它本身不仅仅是一个用户定义的对象(它的基础是一个函数,这就是为什么你可以()在它上面使用运算符并且它继承了所有函数的原因Function.prototype)type所谓的jQuery的实际Javascript 是什么宾语?

它必须是标准的类似数组的对象之一,因为你可以[]在它上面使用运算符,你甚至不能对IE8中的字符串做什么(不,你不能,不能在Object上String.你可以在字符串上在他们被装箱之前的文字).
所以再一次,它不是一个用户定义的对象(NB没有jQuery对象这样的东西,它在原始的javascript中写入了一行).我感觉它是一个NodeList(或在没有的浏览器中等效NodeList).

您可能已经注意到这一点的原因是您已经为Array原型添加了方法,并且您发现jQuery找到的一组节点上不存在该函数!

任何与jQuery密切相关的人都可以与我分享这个较低级别的信息吗?或者是否有一个简短的,详尽的Javascript中类似数组的对象列表,我可以测试jQuery对象,直到找到它自己是哪一个?


我问这个的原因,而不是假设jQuery只是添加元素到对象,使用索引作为属性名称(即obj[0] = x;)是由于Chrome开发工具和Firebug如何显示它们.
dev工具显示Array,jQuery和类似Array的对象
这显示了展示Array,jQuery和类似对象的开发工具,并且jQuery正在做的事情背后至少有一些魔力.


编辑

这不是一个NodeList.如果它有帮助; 在Chrome中检查它表明它是jQuery.fn.jQuery.init[0]一个__proto__描述自己的类型Object[0](它有所有的jquery方法).任何解释jQuery正在做什么以及如何做的人都会非常感谢.我现在要看看jQuery的源代码.

至于图像,它不仅仅是被覆盖的.toString().

$('').toString == Object.prototype.toString //true
$('').toString == Array.prototype.toString //false
Run Code Online (Sandbox Code Playgroud)

javascript jquery object

3
推荐指数
1
解决办法
1023
查看次数

一个接一个地按两个实体对对象排序

我有一个包含以下变量(实体)的类:

Identifier  
Entry_Number  
Rest_of_the_data
Run Code Online (Sandbox Code Playgroud)

我想按如下方式对这个类的实例进行排序:
Identifier变量对实例进行Identifier排序,然后对于具有相同值的实例,按变量对它们进行排序Entry_Number.

我知道我可以将这些实体中的一个实现Comparable作为关键,但我不知道如何对这两个实体进行顺序排序.
也就是说,在按Identifier我排序的时间排序之后Entry_Number,不应该干扰初始排序 - 第二次排序应该仅适用于具有相同Identifier值的那些实例.

所以,实际上,我希望能够传递"第二个关键"项来解决关系.

java

2
推荐指数
1
解决办法
115
查看次数