我试图在我的jQuery应用程序中禁用退格键,这样它就不会导致浏览器返回页面.但是,如果输入或textarea元素被聚焦,我不想禁用它,因为我希望退格在那里正常工作.
所以,我想选择任何不是输入或textarea的东西.
这是代码.问题是它会触发每个元素,甚至是输入和文本.
$(':not(input, textarea)').keydown(function(e) {
if (e.keyCode === 8) {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我不明白为什么:not()函数不起作用.有没有更好的方法可以做到这一点?
请注意,如果我删除:not()函数,它可以正常工作.也就是说,它只会触发input和textarea元素.
编辑:根据接受的答案,这里是有效的代码.我相信有更好的方法可以做到这一点.
$(document).keydown(function(e) {
var element = e.target.nodeName.toLowerCase();
if (element != 'input' && element != 'textarea') {
if (e.keyCode === 8) {
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud) 在我的测试项目中无法访问System.Diagnostics.Contracts.ContractException.请注意,这段代码纯粹是我自己搞乱了我的Visual Studio新副本,但我想知道我做错了什么.
我正在使用VS的专业版,因此我没有静态检查.为了仍然使用代码契约(我喜欢),我认为我的方法可以工作的唯一方法是捕获在运行时抛出的异常,但我发现这不可能.
测试方法
[TestMethod, ExpectedException(typeof(System.Diagnostics.Contracts.ContractException))]
public void returning_a_value_less_than_one_throws_exception()
{
var person = new Person();
person.Number();
}
Run Code Online (Sandbox Code Playgroud)
方法
public int Number()
{
Contract.Ensures(Contract.Result<int>() >= 0);
return -1;
}
Run Code Online (Sandbox Code Playgroud)
错误
Error 1 'System.Diagnostics.Contracts.ContractException' is inaccessible due to its protection level.
编辑
经过一番思考后,我得出了评论中讨论的结论,以及以下内容.给定一种方法,如果这有一个可以用代码合同形式表达的要求,我会写这样的测试.
[TestMethod]
[ExpectedException(typeof(ArgumentException))]
public void value_input_must_be_greater_than_zero()
{
// Arrange
var person = new Person();
// Act
person.Number(-1);
}
Run Code Online (Sandbox Code Playgroud)
这将确保合同是代码的一部分,并且不会被删除.这将要求Code Contract实际抛出指定的异常.但在某些情况下,不需要这样做.
我想知道在 MULTIPLE 页面之间传递大量值的最佳方式是什么。我正在考虑使用 context.Items[] 或 Session[] 将值保存到数据库中。我不确定什么是最好的方法。我传递了大约 40 个变量。这将在结帐过程中进行,因此它们应该在用户生命周期中保持不变。第一次输入后,用户不会更改这些值。这些值类似于帐单地址、名字和姓氏等
伙计们,我有一个ASP.NET MVC应用程序,我试图使用ADFS v2.0(日内瓦)的Release Candidate版本来保护它.我已将应用程序配置为依赖方信任,并且我已使用Fedutil.exe修改应用程序的Web.config,以便它具有有关Geneva服务器的信息并使用Geneva服务器作为其声明源.
然而,当我尝试点击MVC应用程序时,它会重定向到日内瓦,然后(在警告我有关自签名证书之后)再次将我重新引导到MVC应用程序.在接受两个自签名证书警告后,两个服务器在无限重定向循环中互相打乒乓,直到最后日内瓦发出以下消息:
同一个客户端浏览器会话在最后'1'秒内发出'6'请求.可能存在可能的错误配置.请联系您的管理员了解详情
除了包含上述消息的事件之外,MVC端或日内瓦的事件日志中没有错误.如果有人能给我一些关于如何尝试和调试,诊断并希望解决这个问题的信息,我将永远感激不尽.
同样,日内瓦盒子是ADFS v2.0候选版本,ASP.NET MVC站点是使用最新的(09年末)版本的Windows Identity Foundation SDK构建的,其中使用来自WIF SDK的FedUtil.exe修改了Web.config .
所以你们都会得到这个...我从Firefox尝试了同样的应用程序...... IT工作.我收到提示输入我的域凭据,ADFS v2服务器重新指示我ONCE然后我最终在我的应用程序的主页上,完成我的帐户名称和个性化问候语.所以现在真正的问题是:为什么IE8会陷入无限重定向循环并且Firefox不是?经过进一步测试,我已经能够开箱即用,无需修改ADFS v2(RC)或BOTH Safari和Firefox上的WIF(RTW)中的任何默认管道内容.IE8是唯一一个在处理此身份验证方案时遇到任何问题的浏览器.我已经尝试了一切,包括安装和信任自签名证书,将站点添加到我的本地Intranet区域,并将安全性降低到低,甚至设置第一个和第三方cookie始终允许.
我有一个计划宏和一个长列表,我想在列表中映射宏,就像它是一个函数一样。我怎样才能使用 R5RS 做到这一点?
该宏接受几个参数:
(mac a b c d)
Run Code Online (Sandbox Code Playgroud)
名单有
(define my-list ((a1 b1 c1 d1)
(a2 b2 c2 d2)
...
(an bn cn dn)))
Run Code Online (Sandbox Code Playgroud)
我想要这个:
(begin
(mac a1 b1 c1 d2)
(mac a2 b2 c2 d2)
...
(mac an bn cn dn))
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,正如你所看到的,我也想拼接参数列表)
我想从整数中检索左3个数字以存储在表格中.例如,如果int是1234567,我想检索123.我希望第二个数字(123)也是一个int; 我不想将任何东西转换为字符串.
(是的,我真的应该使用字符串.但我无法控制问题的这一方面.)
谢谢!
我想得到N个随机数,它们的总和是一个值.
例如,假设我想要5个随机数,它们的和为1
那么,一个有效的可能性是:
0.2 0.2 0.2 0.2 0.2
Run Code Online (Sandbox Code Playgroud)
其他可能性是:
0.8 0.1 0.03 0.03 0.04
Run Code Online (Sandbox Code Playgroud)
等等.我需要这个来创建模糊C均值的所有物矩阵.
这让我很困惑.以下在Eclipse下编译正常.
package com.example.gotchas;
public class GenericHelper1 {
static <T> T fail() throws UnsupportedOperationException
{
throw new UnsupportedOperationException();
}
/**
* just calls fail()
* @return something maybe
*/
public boolean argh() { return fail(); }
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试使用ant或在命令行上进行干净的构建javac,我会得到:
src\com\example\gotchas\GenericHelper1.java:14: type parameters of <T>T cannot be determined; no unique maximal instance
exists for type variable T with upper bounds boolean,java.lang.Object
public boolean argh() { return fail(); …Run Code Online (Sandbox Code Playgroud) 我需要一个确定债务支付计划的公式,其中包括以下内容:支付数量,每笔支付金额和本金以及需要计算利率的条件.我正在重新分解现有代码,当前方法使用以下(复合= 12;利率从.1开始):
while (counter < 100)
{
intermediatePayment = (interestRate*(principal/compounded))/(1 - (1/Math.Pow(interestRate/compounded + 1,(compounded*numberOfYears))));
interestIncrement = Math.Abs(interestRate - previousRate)/2;
previousRate = interestRate;
if(intermediatePayment == payment)
break;
if (intermediatePayment > payment)
interestRate -= interestIncrement;
else
interestRate += interestIncrement;
counter++;
}
Run Code Online (Sandbox Code Playgroud)
现在我明白了这个公式的作用,但我自己永远无法达到它.这里的实际情况是,如果知道利率,本金和支付数量,那么应该用来确定每月付款的等式.它使用暴力和循环(最多100次),直到计算的付款等于所需的付款.它通常在大约40-50个循环之后得到答案,并且可以通过减少有效数字来优化.
对我来说,如果我们刚刚解决了interestRate那么就没有循环了.尽我所能,我无法得到解决我的等式,所以这是我的主要问题.
现在,如果你能够很好地理解问题并了解财务公式和复利,那么你可能会给我一个更好的解决方案,这将是非常棒的.我自己做了大量的研究并找到了工具但不是原始的等式,或者更常见的是我找到了用于确定与兴趣相关的东西的不同公式,但我不知道根据我的需要重新调整它们.
基本上我花了太多时间在这上面,我的老板认为,因为循环工作,我需要留下它或寻求帮助.很公平,所以我.:)
这是一个更传统的公式布局,如果这有助于任何:http://i.imgur.com/BCdsV.png
对于测试数据:如果
然后
谢谢您的帮助
我有一个HTML表,我希望能够导出到Excel文件.我已经有了将表导出到IQY文件的选项,但我更喜欢不允许用户通过Excel刷新数据的东西.我只想要一个功能,在用户单击链接/按钮时拍摄表格的快照.
我更喜欢它,如果该功能是HTML页面上的链接/按钮,允许用户保存表格中显示的查询结果.如果可以保留HTML/CSS的格式也会很好.有没有办法做到这一点?或者,我可以用IQY修改一些东西?
如果需要,我可以尝试提供更多详细信息.提前致谢.