问题列表 - 第14207页

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

在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万
查看次数

如何让grep在第一场比赛中停止?

好吧,我有一个文件test.txt

#test.txt
odsdsdoddf112 test1_for_grep
dad23392eeedJ test2 for grep
Hello World test
garbage

我想提取后面有空格的字符串.我使用了以下表达式并且它有效

grep -o  [[:alnum:]]*.[[:blank:]]  test.txt

它的输出是

odsdsdoddf112
dad23392eeedJ 
test2 
for    
Hello 
World

但问题是grep会打印出所有带有空格的字符串,我希望它在第一次匹配后停止,然后进入第二行.

我应该在这里使用哪个表达式,以便在第一次匹配后停止并移至下一行?

这个问题可以通过gawk或其他工具解决,但我将欣赏一个仅使用grep的解决方案.

编辑 我在Linux系统上使用GNU grep 2.5.1,如果这是相关的.

编辑

在下面给出的答案的帮助下,我试着运气

grep  -o   ^[[:alnum:]]*  test.txt
grep  -Eo  ^[[:alnum:]]+  test.txt

两个人都给了我正确的答案.

现在令我惊讶的是我尝试过使用

grep -Eo "^[[:alnum:]]+[[:blank:]]" test.txt

正如这里建议但没有得到正确的答案.这是我终端上的输出

odsdsdoddf112
dad23392eeedJ 
test2 
for    
Hello 
World

但RichieHindle和Adrian Pronk的评论显示他们的系统输出正确.任何人都知道为什么我也没有在我的系统上得到相同的结果.任何的想法?任何帮助将不胜感激.

编辑

好吧,似乎grep 2.5.1有一些bug,因为我的输出不正确.我安装了grep 2.5.4,现在它正常工作.有关详细信息,请参阅此链接.

grep

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

对于C#资源,为什么Properties未定义?

当我尝试访问我的一个C#项目资源中的字符串属性时,我收到以下错误:

'ORG.PRJ.MOD.MyClass2' does not contain a definition for 'Properties'
Run Code Online (Sandbox Code Playgroud)

产生错误的代码是:

string s = MyClass2.Properties.Resources.TestString2;
Run Code Online (Sandbox Code Playgroud)

真正奇怪的是,我的解决方案中的另一个项目(使用MyClass和TestString)具有完全相同的设置不会产生错误并且像冠军一样工作.这是背景和我尝试过的所有事情.

  1. 两者都是VS2008中的普通"类库C#"项目.
  2. 我通过右键单击 - >解决方案树中每个项目的属性创建资源字符串,然后选择"资源"选项卡.然后我在一个中输入了"TestString",在另一个中输入了"TestString2".
  3. 对于有效的项目,如果我键入MyClass. - IDE IntelliSense告诉我"属性"是一个可用的成员(但这是它向我展示的唯一成员).对于不起作用的项目,可用的成员是"Equals"和"ReferenceEquals"(它不会给我"属性").这似乎是SOMETHING不同的最大线索.
  4. 认为我的项目文件已损坏,我从头开始重新创建了两个项目.我删除了所有bin,obj和Properties文件夹,删除了所有Resources.resx和Resources.Designer.cs文件,删除了所有.csproj,.csproj.user,.sln和.suo文件.对于两个项目.然后我再次启动VS2008并使用File-> New - >"Project From Existing Code ..."来创建新项目.然后我以完全相同的方式为两个项目添加了资源(按照上面的步骤2).结果相同.
  5. 我在两个项目(Resources.resx,Resources.Designer.cs,MyProj.csproj)之间的相应文件上执行了"diff".除了我所期望的之外,没有什么看起来不同(类名和字符串名称在它们之间有所不同).
  6. 我用Google搜索了它.基于如何离奇这种感觉,毫无疑问,我已经做了一些愚蠢的疯狂(见/sf/ask/4104831/#756768).

.net c# resources properties

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

Java中的泛型问题

我确信我的问题很常见,我几乎可以肯定它没有简单的解决方案.

所以:我有一个界面:

public interface Task<E> extends Serializable {
    Task<E>[] splitTask (int partsNum);
    E mergeSolutions (E... solutions);
    E solveTask ();
    E getSolution ();
    Integer getId ();
    void setId (Integer id);
}
Run Code Online (Sandbox Code Playgroud)

我也有它的实现 - BubbleSortTask,它的代码并不有趣.这个设计的主要思想是:我们可以将巨大的任务分解为子任务,解决每个子任务然后合并解决方案:

    Integer[] array = {1, 4, 9, 3, 3, 0, 8, 2, 6};
    BubbleSortTask bst = new BubbleSortTask (array);
    Task[] ts = bst.splitTask (2);
    for (Task t : ts) {
        t.solveTask ();
    }
    bst.mergeSolutions (((BubbleSortTask)ts[0]).getSolution (),
                        ((BubbleSortTask)ts[1]).getSolution ());
Run Code Online (Sandbox Code Playgroud)

它运作良好.但是在一般情况下我不应该对具体实现有所了解,我想做这样的事情:

public void processTask (Task t, int subtasksNum) {
    Task[] …
Run Code Online (Sandbox Code Playgroud)

java generics

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

像mapM,但对于数组?(像arrayMap,但映射不纯的函数)

我看到我可以使用mapArray在可变数组上映射函数,但似乎没有像mapM(和mapM_)那样的东西.mapArray不会让我打印它的元素,例如:

import Data.Array.Storable

arr <- newArray (1,10) 42 :: IO  -- answer to Life, Universe and Everything
x <- readLn :: IO Int
mapArray (putStrLn.show) arr -- <== this doesn't work!
Run Code Online (Sandbox Code Playgroud)

结果将是:

No instances for (MArray StorableArray Int m,
                  MArray StorableArray (IO ()) m)
  arising from a use of `mapArray' at <interactive>:1:0-27
Possible fix:
  add an instance declaration for
  (MArray StorableArray Int m, MArray StorableArray (IO ()) m)
In the expression: mapArray (putStrLn . show) arr
In the definition of …
Run Code Online (Sandbox Code Playgroud)

arrays monads haskell

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

如何从PHP解析json(feed)

我有一个来自zoho的json feed:在这里,你可以访问未加密的同一个文件, 我希望能够显示和解析来自该feed的数据.

我昨天问了一个类似的问题,但解决方案是一个javascript,并且java禁用客户端可能导致无法显示...所以我将使用php.我可以解析var而不是feed?....

问题2.是否可以捕获json提要,并将其保存为文件(用于备份目的),因此如果站点关闭,我将访问该文件(小可能性)

php json

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

.NET代表什么?它是首字母缩略词吗?

我已经看到发音指南和.NET的各种定义作为框架,但没有对框架实际名称的定义或解释.

维基百科似乎不知道. 这个问题没有涵盖它.

有人知道吗?它是纯粹的营销产生的废话,还是它意味着什么?

.net definition acronym

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

iPhone 3.1 SDK相机访问

如何创建一个启动相机并使用相机拾取的图像更新图像视图的应用程序?

iphone camera objective-c

5
推荐指数
1
解决办法
6816
查看次数

如何在不覆盖现有样式的情况下向WPF自定义控件添加触发器?

我正在创建一个从切换按钮扩展的简单自定义控件,允许用户直接在XAML中指定已检查和未检查的内容.它运行良好,但它基于一个触发器,我不知道如何定义触发器,除了一个样式.如果我定义样式,那么我将失去在自定义控件之外设置的任何内容.

我希望能够做的只是将此触发器附加到控件上其他位置设置的任何现有样式.

这是样式/触发器的XAML.

<ToggleButton.Style>
    <Style TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
        <Setter Property="Content" Value="{Binding RelativeSource={RelativeSource Self}, Path=UncheckedContent}" />
        <Style.Triggers>
            <Trigger Property="IsChecked" Value="True">
                <Setter Property="Content"
                        Value="{Binding RelativeSource={RelativeSource Self}, Path=CheckedContent}" />
            </Trigger>
        </Style.Triggers>
    </Style>
</ToggleButton.Style>
Run Code Online (Sandbox Code Playgroud)

我尝试使用默认类型通过BasedOn继承样式,但如果自定义控件具有由其父级设置的显式样式,则它将无法工作.我也考虑过EventTriggers,但我不相信会有一个事件来初始化控件.

感谢任何人都能提供的帮助.:)

c# wpf triggers styles

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

Windows Vista中的CVS最佳实践?

我必须在我的新公司开始使用CVS,以便我可以与所有*nix用户的开发人员很好地合作.我碰巧是Windows Vista用户,很遗憾没有能力很快切换.我也不是一个命令行大师,所以任何简化的方法对我来说都是理想的.

我今天发现了TortoiseCVS并且看起来非常直接,尽管它说Vista上没有直接支持它,这让我有点担心.

我的问题:

  1. 你在Windows(Vista)上使用CVS吗?
  2. 你用什么方法?(Tortoise CVS?另一种选择?)
  3. 您的方法与/ nix机器上的存储库设置相处得好吗?
  4. 对菜鸟的其他任何建议?(谢谢)

windows cvs tortoisecvs

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