对于Web应用程序的关键捕获当前状态,我感到非常愤怒.只要您知道您的用户将要在特定位置(例如input字段)中键入内容,它就会很有效,但只要您想为整个"应用程序"执行全局快捷方式,它就会崩溃.
我试图找出是否有更好的方法来捕获网页的所有关键事件,而不是我目前使用的方法.
我目前的方法是使用绑定到元素的JQuery Hotkeys插件document,即:
$(document).bind("keyup", "delete", function() {});
Run Code Online (Sandbox Code Playgroud)
这对于大多数用途都很有用,但是例如在Firefox上,如果用户碰巧心不在焉地将鼠标移到导航栏上,则删除键有时会导致用户"返回",并且处理程序从未接收到密钥这样我就可以停止传播了.
我应该绑定一个不同的元素吗?那里有更好的插件吗?我应该避免使用常见Web浏览器中绑定的任何键吗?
随着越来越多的Web应用程序看起来模仿他们的桌面版本,这似乎是Web开发人员越来越需要的基本功能.
编辑:我应该指出我已经在使用e.stopPropagation()和e.preventDefault().主要问题似乎是有时事件甚至从未传递给绑定函数.我基本上想知道是否有人想出一个"更高"的元素来绑定到其他人document.还是有一种我从未想过的替代方案?例如,在页面上嵌入一个不可见的Flash元素,然后将所有键从那里传递给Javascript(我认为这不会起作用).
我认为,在这一点上,我做的事情是"标准的,众所周知的方式".我试图看看是否存在一种尚未被广泛知晓的开箱即用的方式,也许有人在SO上知道:-).
将Postgres 9.1升级到9.4后,我的性能变得非常缓慢.以下是两个运行速度明显较慢的查询的示例.
注意:我意识到这些查询可能会被重写以更有效地工作,但是我关注的主要问题是在升级到更新版本的Postgres之后,它们突然运行速度提高了100倍!我希望有一个我忽略的配置变量.
在进行升级时,我使用带有--link选项的pg_upgrade命令.9.4和9.1之间的配置文件相同.它不是在完全相同的硬件上运行,但它们都在Linode上运行,我现在尝试使用3个不同的Linode用于新服务器,因此我不认为这是硬件问题.
看起来在这两种情况下,9.4使用的是不同的指数而不是9.1?
9.1:
EXPLAIN ANALYZE SELECT "id", "title", "timestamp", "parent", "deleted", "sunk", "closed", "sticky", "lastupdate", "views", "oldid", "editedon", "devpost", "hideblue", "totalvotes", "statustag", "forum_category_id", "account_id" FROM "forum_posts" WHERE "parent" = 882269 ORDER BY "timestamp" DESC LIMIT 1;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=63.87..63.87 rows=1 width=78) (actual time=0.020..0.020 rows=0 loops=1)
-> Sort (cost=63.87..63.98 rows=45 width=78) (actual time=0.018..0.018 rows=0 loops=1)
Sort Key: "timestamp"
Sort Method: quicksort Memory: 17kB
-> Index Scan using index_forum_posts_parent on forum_posts (cost=0.00..63.65 rows=45 width=78) (actual time=0.013..0.013 rows=0 …Run Code Online (Sandbox Code Playgroud) 我使用PHP的date()函数遇到了一个有趣的问题.没有任何运气在SO上或使用谷歌进行讨论,但也许其他人之前遇到过同样的问题?
我想在给定的时间戳上获得年度和本年度.这是我正在使用的代码:
date("Y-\WW");
截至今天正确输出:2011-W39.
问题在于提供时间戳,如果有问题的时间戳是,例如,2011年1月3日(实际上是"2010年第52周"的一部分.PHP正确返回W52,但它也返回2011年作为年份而不是2010年.
date("Y-\WW", 1294016400);
输出: 2011-W52
有关如何解决这个问题的任何想法?我应该注意到,虽然在这种情况下很容易比较strtotime()输出大于当前time()和调整,但我需要一个解决方案,也适用于前几年(例如,如果同样的事情发生在1月2010年3月).
我正在寻找一种完全基于时间概念的某种类型的SQL数据库,就像那些以地理为中心,以关系为中心的等等.
我的主要愿望是,我可以随时更改数据库,然后在任何时候运行一个本质上说的查询,向我展示数据库如何查看此日期和时间.我更希望SQL数据库内置此功能,而不必使用日志表重新实现它并记录每个事务.
我希望有一个梦想吗?
谢谢!
编辑:经过一些进一步的研究,似乎"时态数据库 "可能是我正在寻找的.因此,如果有任何可用的开源软件等,使用其中任何一个的任何信息都会非常有用!