小编eri*_*len的帖子

如何防止退格键导航回来?

在IE上,我可以使用(非常非标准但可以正常工作)jQuery来实现这一点

if ($.browser.msie)
    $(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Run Code Online (Sandbox Code Playgroud)

但有可能以一种适用于Firefox的方式,或以跨浏览器的方式获得奖金吗?

作为记录:

$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
Run Code Online (Sandbox Code Playgroud)

什么也没做.

$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)

解决了问题,但是在页面上呈现退格键不可用,这比原始行为更糟糕.

编辑:我这样做的原因是我不是创建一个简单的网页,而是一个大型的应用程序.因为你在错误的地方按下退格键而失去10分钟的工作是令人难以置信的烦恼.通过防止退格键导航回来,防止错误与烦人用户的比例应该高于1000/1.

编辑2:我不是想阻止历史导航,只是意外事故.

EDIT3:@brentonstrines评论(因为这个问题非常受欢迎而搬到这里):这是一个长期的'修复',但你可以抛弃你的支持Chromium bug来改变webkit中的这种行为

javascript firefox jquery internet-explorer cross-browser

268
推荐指数
10
解决办法
20万
查看次数

在.NET中进行双重检查锁定

我在本文中讨论了为什么在Java中打破了双重检查锁定范例的原因.如果声明变量,范例是否对.NET(特别是C#)有效volatile

.net paradigms multithreading double-checked-locking

52
推荐指数
4
解决办法
5万
查看次数

TeamCity构建代理从何处获取其路径环境?

我正在尝试设置TeamCity来构建我的项目,但是我的psake buildscript失败了,其原因被缩小到无法找到git可执行文件,这应该是在路径上.当我启动PowerShell并自己执行该操作时,一切正常.

Path环境变量的内容(如"Windows环境变量"对话框中的"系统变量"列表以及注册表中所示HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path)是

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd
Run Code Online (Sandbox Code Playgroud)

但是TeamCity说它的env.Path就是

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Windows\System32\WindowsPowerShell\v1.0
Run Code Online (Sandbox Code Playgroud)

我重新启动了计算机(多次),这无济于事.

为什么TeamCity构建代理的PATH变量与系统默认变量不同,我该如何解决?

teamcity continuous-integration environment-variables psake teamcity-6

37
推荐指数
4
解决办法
2万
查看次数

我应该抛出哪种异常来表示程序中的内部错误?

当程序达到我"知道"不会发生的逻辑状态时,我应该使用哪个例外,如果确实如此,那么事情就非常糟糕.

例如:

int SomeFunction(int arg) {
    SomeEnum x = Whatever(arg, somePrivateMember);
    switch (x) {
        case SomeEnum.Value1:
            return SomeFunction1();
        case SomeEnum.Value1:
            return SomeFunction2();
        default:
            throw new WhatTypeToThrow();
    }
}
Run Code Online (Sandbox Code Playgroud)

很明显,ArgumentException在这里是一个长镜头,因为x的无效值可能来自Whatever()中的错误,或者任何参数和/或当前实例状态的无效组合.

我正在寻找诸如InvalidProgramStateException,InternalErrorException或类似的东西.

当然我可以定义自己的,但我想知道框架中是否有合适的例外.

编辑:删除简单的示例代码以减少ArgumentException答案的数量.

.net c# exception

20
推荐指数
1
解决办法
4978
查看次数

在SQL Server中查找XML文档中的节点顺序

如何在XML文档中找到节点的顺序?

我所拥有的是这样的文件:

<value code="1">
    <value code="11">
        <value code="111"/>
    </value>
    <value code="12">
        <value code="121">
            <value code="1211"/>
            <value code="1212"/>
        </value>
    </value>
</value>
Run Code Online (Sandbox Code Playgroud)

而我正试图将这个东西放到一个定义为的表中

CREATE TABLE values(
    code int,
    parent_code int,
    ord int
)
Run Code Online (Sandbox Code Playgroud)

保留XML文档中值的顺序(它们不能按代码排序).我希望能够说出来

SELECT code 
FROM values 
WHERE parent_code = 121 
ORDER BY ord
Run Code Online (Sandbox Code Playgroud)

结果应该是确定的

code
1211
1212
Run Code Online (Sandbox Code Playgroud)

我试过了

SELECT 
    value.value('@code', 'varchar(20)') code, 
    value.value('../@code', 'varchar(20)') parent, 
    value.value('position()', 'int')
FROM @xml.nodes('/root//value') n(value)
ORDER BY code desc
Run Code Online (Sandbox Code Playgroud)

但它不接受该position()函数(' position()'只能在谓词或XPath选择器中使用).

我想这可能是某种方式,但如何?

xml sql sql-server xquery

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

输入类型的宽度=文本元素

我怎么做的时候:

<input type="text" style="width: 10px; padding: 2px"/>
<div style="width: 10px; border: solid 1px black; padding: 2px">&nbsp;</div>
Run Code Online (Sandbox Code Playgroud)

输入最终比IE6和FF3中的div宽2 px?我错过了什么?

编辑:正如许多人所说,边界是问题.如果我在输入上设置border:0px,它将具有与具有0 px边框的div相同的宽度(通过将其包装在有边界的SPAN中进行验证).

但是,当我测量绘画中的元素时,div的内部空间为14像素,正如预期的那样(10 + 2 + 2).但是,输入内部有16像素,然后是外部边框.为什么是这样?可能不是一个错误,因为它发生在IE6和FF3,但我不明白.

html css input width

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

如何以HTML格式发送PUT/DELETE请求?

我在PHP中乱搞REST,我明白我可以捕获请求方法vi a $_SERVER['REQUEST_METHOD'].但是如何在不使用cURL的情况下在PHP中触发PUT/DELETE请求?我想使用默认PHP安装的功能来执行此操作.我无法想象更改form标签的method属性来指定除GET或POST以外的方法可以在所有浏览器上运行...加上HTML标准无法识别它.

顺便说一下,我在PHP 5.2.6上.

谢谢.

rest

13
推荐指数
2
解决办法
2万
查看次数

绘制音符的图书馆

我正在寻找一个能够以某种方式在屏幕上绘制音符的Windows库.我将使用它在C#中编写应用程序,但纯粹的基于Win32的解决方案已经足够了.有人知道这样的图书馆吗?

编辑:我将实时更新笔记,他们不需要看起来非常花哨.

windows drawing

10
推荐指数
2
解决办法
5171
查看次数

在JavaScript中模拟SQL LIKE

如何LIKE在JavaScript中模拟SQL关键字?

对于那些不知道是什么的人LIKE来说,它是一个非常简单的正则表达式,它只支持通配符%,它匹配0个或更多字符,并且_只匹配一个字符.

但是,它不仅可以做以下事情:

var match = new RegEx(likeExpr.replace("%", ".*").replace("_", ".")).exec(str) != null;
Run Code Online (Sandbox Code Playgroud)

...因为图案可能包含点,星星和任何其他特殊的正则表达式字符.

javascript regex sql sql-like

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

什么可以导致Visual Studio一直重建我的整个解决方案?

我在Visual Studio 2008中有一个很大的解决方案(大约30个项目,所有C#和脚本#),包括一些测试项目.

当我启动应用程序或运行我的测试时,通常Visual Studio会重建所有内容,而不仅仅是更改的部分及其依赖项.

如果我根本不改变任何东西,它将不会重建,但是一旦我更改了任何项目中的任何文件,整个解决方案中的所有内容都将被重建,即使是90%的项目根本没有受到影响.

有没有人知道问题可能是什么,或者提供一些我可以开始排除故障的提示?

编辑:为了澄清,解决方案中的所有项目都已重建,甚至是那些不直接或间接依赖于实际修改过的项目的项目.即使是修改后的项目所依赖的那些,也不能成为一个简单的项目参考问题.

build visual-studio-2008 visual-studio

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