在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中的这种行为
我在本文中讨论了为什么在Java中打破了双重检查锁定范例的原因.如果声明变量,范例是否对.NET(特别是C#)有效volatile?
我正在尝试设置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
当程序达到我"知道"不会发生的逻辑状态时,我应该使用哪个例外,如果确实如此,那么事情就非常糟糕.
例如:
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答案的数量.
如何在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选择器中使用).
我想这可能是某种方式,但如何?
我怎么做的时候:
<input type="text" style="width: 10px; padding: 2px"/>
<div style="width: 10px; border: solid 1px black; padding: 2px"> </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,但我不明白.
我在PHP中乱搞REST,我明白我可以捕获请求方法vi a $_SERVER['REQUEST_METHOD'].但是如何在不使用cURL的情况下在PHP中触发PUT/DELETE请求?我想使用默认PHP安装的功能来执行此操作.我无法想象更改form标签的method属性来指定除GET或POST以外的方法可以在所有浏览器上运行...加上HTML标准无法识别它.
顺便说一下,我在PHP 5.2.6上.
谢谢.
我正在寻找一个能够以某种方式在屏幕上绘制音符的Windows库.我将使用它在C#中编写应用程序,但纯粹的基于Win32的解决方案已经足够了.有人知道这样的图书馆吗?
编辑:我将实时更新笔记,他们不需要看起来非常花哨.
如何LIKE在JavaScript中模拟SQL关键字?
对于那些不知道是什么的人LIKE来说,它是一个非常简单的正则表达式,它只支持通配符%,它匹配0个或更多字符,并且_只匹配一个字符.
但是,它不仅可以做以下事情:
var match = new RegEx(likeExpr.replace("%", ".*").replace("_", ".")).exec(str) != null;
Run Code Online (Sandbox Code Playgroud)
...因为图案可能包含点,星星和任何其他特殊的正则表达式字符.
我在Visual Studio 2008中有一个很大的解决方案(大约30个项目,所有C#和脚本#),包括一些测试项目.
当我启动应用程序或运行我的测试时,通常Visual Studio会重建所有内容,而不仅仅是更改的部分及其依赖项.
如果我根本不改变任何东西,它将不会重建,但是一旦我更改了任何项目中的任何文件,整个解决方案中的所有内容都将被重建,即使是90%的项目根本没有受到影响.
有没有人知道问题可能是什么,或者提供一些我可以开始排除故障的提示?
编辑:为了澄清,解决方案中的所有项目都已重建,甚至是那些不直接或间接依赖于实际修改过的项目的项目.即使是修改后的项目所依赖的那些,也不能成为一个简单的项目参考问题.