小编Dan*_*ola的帖子

Javascript事件:获取<input>控件值更改的通知

我有以下问题:

我有一个HTML文本框(<input type="text">),其内容由我无法触摸的脚本修改(这是我的页面,但我正在使用外部组件).

我希望每次文本框的值发生变化时都会在我的脚本中收到通知,所以我可以对它做出反应.

我试过这个:

txtStartDate.observe('change', function() { alert('change' +  txtStartDate.value) });
Run Code Online (Sandbox Code Playgroud)

哪(可预见)不起作用.它只会在我自己用键盘更改文本框值然后将焦点移动到其他位置时执行,但如果脚本更改了值,则不会执行它.

还有我可以听的另一个事件,我不知道吗?



我正在使用Prototype库,如果它是相关的,修改文本框值的外部组件是Basic Date Picker(www.basicdatepicker.com)

html javascript events

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

使用语法导向的转换方案将整数转换为罗马数字?

龙书包括使用语法指导的翻译方案将整数转换为罗马数字的练习.

怎么能完成?

compiler-construction translation-scheme roman-numerals

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

我可以在Visual Studio 2008中使用C#的代码编辑器显示一行分隔方法吗?

抱歉这个愚蠢的问题,但......

我正在从VB转到C#,这真的让我烦恼.有没有办法说服VS 2008绘制一条分隔我方法的线,就像它对VB一样?

我已经习惯了那些,而且我已经习惯了

// ------------------------------------------------ -------

我自己在Javascript.

我希望我也不必在C#中手动完成它.

有什么指针吗?
谢谢

javascript c# ide visual-studio-2008 visual-studio

8
推荐指数
2
解决办法
2596
查看次数

IETester是否运行与IE6/IE7相同的ACTUAL代码?还是模拟?

我刚刚意识到(是的,这对我来说是愚蠢的)IE8兼容模式不是IE7.
我一直认为他们会切换回IE7二进制文件,显然它们不是,正如我在SO中找到的另一个问题所表明的那样.

我的问题是......
有谁知道IETester的工作原理?
它是否运行IE6/7 的实际二进制文件?
我可以信任它,为我的测试, IE6/7?
或者我应该认为它是"接近"的东西,但实际上在实际的VM中测试是100%肯定的吗?

谢谢!

cross-browser internet-explorer-8 internet-explorer-7 internet-explorer-6

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

实体框架不将Where子句作为WHERE子句发送到SQL Server

我有一个简单的数据库,有网站,每个网站都有一堆帖子.

我正在尝试获取某个站点的所有"公共"帖子(我有一个名为site的变量,已经是EF提供的一个实例)

第一个显而易见的事情是:

  var posts = from post in site.Posts
              where post.Public == true
              orderby post.PublicationTime descending
              select post;
Run Code Online (Sandbox Code Playgroud)

这给我带来了我想要的东西,但是在研究SQL Server Profiler时,WHERE只过滤Public字段,而不是Site.实际上,在SQL Server中运行Profiler捕获的查询确实会带回所有站点中的所有帖子(这显然是在ASP.Net方面稍后进行过滤).

然后我尝试了:

  var posts = from post in db.Posts
              where post.Site == site && post.Public == true
              orderby post.PublicationTime descending
              select post;
Run Code Online (Sandbox Code Playgroud)

结果相同.

我在这里做了一些根本愚蠢的事情吗?
实体框架是否总是在客户端进行过滤?

谢谢!
丹尼尔

.net c# entity-framework where-clause

8
推荐指数
2
解决办法
3255
查看次数

可怕的Canvas GetImageData()/ PutImageData()在移动设备上的表现

我正在做一些HTML5游戏,并且在地图开头加载我的精灵时,我使用GetImageData()/循环遍历所有图像/ PutImageData().

这在我的电脑上运行得非常好,然而,在我的手机上,它的速度非常慢.

PC: 5-6 ms
iPhone 4: 300-600 ms
Android HTC Desire S: 2500-3000 ms
Run Code Online (Sandbox Code Playgroud)

我一直在做一些非常基本的基准测试,并且GetImageData和PutImageData都运行得非常快,需要很长时间的是循环内容.

现在,我显然希望手机放慢速度,但1000x听起来有点过分,加载大约需要4分钟,因此我的HTC无法正常工作.此外,游戏中的其他所有内容都以非常合理的速度运行(主要是因为屏幕更小,但仍然,它在手机上的JS工作得非常好)


我在这个处理中所做的基本上是将精灵"变暗"到一定程度.我只是循环遍历所有像素,并将它们乘以值<1.这就是全部.

因为这太慢了......使用Canvas功能(合成,不透明等等)是否有更好的方法来做同样的事情,而不是逐个遍历所有像素?

注意:此图层具有一些100%透明像素,以及一些100%不透明像素.两者都需要保持100%不透明或100%透明.

我想到的事情是行不通的:
1)用新的画布绘制精灵,不透明度较低.这不起作用,因为我需要精灵保持不透明,只是更暗.
2)绘制精灵,并在它们上面画一个半透明的黑色矩形.这会让它们变暗,但它也会使我的透明像素不再透明......

有任何想法吗?

这是我正在使用的代码,以防万一你看到一些非常愚蠢的东西:

function DarkenCanvas(baseImage, ratio) {
    var tmpCanvas = document.createElement("canvas");
    tmpCanvas.width = baseImage.width;
    tmpCanvas.height = baseImage.height;
    var ctx = tmpCanvas.getContext("2d");
    ctx.drawImage(baseImage, 0, 0);

    var pixelData = ctx.getImageData(0, 0, tmpCanvas.width, tmpCanvas.height);
    var length = pixelData.data.length;
    for (var i = 0; i < length; i+= 4) {
        pixelData.data[i] = pixelData.data[i] * ratio;
        pixelData.data[i + 1] = …
Run Code Online (Sandbox Code Playgroud)

javascript performance html5 canvas getimagedata

8
推荐指数
2
解决办法
9221
查看次数

Webrick和Thin在Windows中提供静态文件的速度非常慢.我怎样才能加快它们的速度?

我目前正在开发一个网络应用程序,我为此在Windows和Mac dev机器之间进行了交替.

我的问题是Windows上的页面渲染速度非常慢,但不是我的Ruby代码运行缓慢,而是静态文件的缓慢提供.

一个典型的页面需要大约200毫秒来渲染并在开发中提供服务(Mac和Windows在这里类似),但它包含大约50个静态文件(在生产中它只有5到10个,一旦它们被缩小和组合,但在开发中它们'仍然分开).

这50个文件在Mac上服务大约需要1.5秒,但在Windows上大约需要10秒.这让测试事情变得非常曲折......

我尝试了Webrick和Thin,它们大致相同.

有没有人发现这个问题,知道如何改善这个问题?

我已经尝试将Webrick conf更改为":DoNotReverseLookup => true",正如本回答中所建议的那样,但它没有帮助.

任何帮助将不胜感激
谢谢!
丹尼尔

windows performance thin webrick ruby-on-rails-3

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

ASP.Net中的Vb6"Tag"属性等价物?

我在这里寻找想法和意见,而不是"真正的答案",我猜......

回到旧的VB6时代,所有控件中都有一个名为"Tag"的属性,这是存储与控件相关的自定义信息的有用方法.每一个控制都拥有它,一切都很幸福......

现在,在.Net(至少对于WebForms),它不再存在了......

有人有一个很好的替代品吗?

我经常发现这个问题,我在生命周期中的不同时间运行不同的函数,并且他们使用我的控件进行操作,并且我希望将它们保持原样,但是应该将信息传递给另一个关于具体控制.

我可以想到一百万个替代品(显然是从模块级字典开始),但没有一个像好的标签一样干净.

(注意:我知道我可以将所有控件子类化并使用我的版本.我宁愿不这样做)

有什么建议?你是如何解决这个问题的?关于他们为什么首先删除这个的任何想法?

编辑:我正在寻找内部请求,而非内部请求.我不需要这些信息仍然在PostBack上.例如,这是在_Load和_PreRender方法之间.

编辑2:我知道我的ASp.Net,我确实知道桌面和网络之间的区别,伙计们!我只是想尝试使用.Net给我的最大化的抽象.我理解这些权衡,相信我,请假设我这样做.

asp.net controls webforms tag-property

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

Pexpect,在尝试生成第二个进程时,正在运行ssh-copy-id

我正在做一个Python脚本,我需要生成几个ssh-copy-id进程,他们需要输入密码,所以我使用的是PExpect.

我基本上有这个:

child = pexpect.spawn('command')
child.expect('password:')
child.sendline('the password')
Run Code Online (Sandbox Code Playgroud)

然后我想产生另一个过程,我不再关心这个过程,无论它是否结束.

child = pexpect.spawn('command2')
child.expect('password:')
child.sendline('the password')
Run Code Online (Sandbox Code Playgroud)

代码挂在第二个"spawn"

但是,如果我注释掉第一个调用,第二个调用就可以了,所以我猜测第一个调用仍然在运行,或者某些东西使它无法工作.

现在,我无法做的另一件事是等到第一个停止.我试过了:
child.close() - 它挂起(以True和False作为参数)child.read(-1) - 它挂起
child.expect(pexpect.EOF) - 它挂起.
child.terminate() - 它挂起(以True和False作为参数)

关于可能发生什么的任何想法?
注意:我不是Python专家,我之前从未使用过pexpect,所以任何想法都非常受欢迎.

谢谢!


更新:这肯定与ssh-copy-id有关,因为对于其他进程,即使它们不返回,spawn也能正常工作.此外,显然ssh-copy-id永远不会返回EOF.

python process pexpect

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

如何衡量文本在Javascript中占用的空间?

在Javascript中,我有一个特定的字符串,我想以某种方式测量它在一个元素中需要多少空间(以像素为单位).

基本上我所拥有的是一个将浮动在其他所有东西之上的元素(比如工具提示),我需要通过Javascript手动设置其宽度,因此它将调整到里面的文本.
我不能让它自然地"自动生长",就像一个内联元素会水平生长以包含它的孩子.

在Windows中,有一些API可以执行此操作.有没有办法在Javascript中做同样的事情?
如果没有合适的方式,您认为哪种方法可行?(比如,尝试不同的宽度并检查高度以确保它没有超过某个阈值).

我可以在JS中硬编码的"像素值"越少,显然越好.

javascript css layout text

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