Javascript 是否可以在web浏览器中捕获所有事件?
我正在做一个宠物项目,目前正处于研究阶段 快速总结 我试图截取所有表单提交、onclick和每一个keydown。我选择的库是jquery或jquery+prototypejs。我认为我可以将事件批处理到队列/堆栈中,并以时间间隔批处理将其发送回服务器,以保持性能相对稳定 担心 表单提交和更改将相对简单。。差不多Javascript 是否可以在web浏览器中捕获所有事件?,javascript,jquery,events,project,Javascript,Jquery,Events,Project,我正在做一个宠物项目,目前正处于研究阶段 快速总结 我试图截取所有表单提交、onclick和每一个keydown。我选择的库是jquery或jquery+prototypejs。我认为我可以将事件批处理到队列/堆栈中,并以时间间隔批处理将其发送回服务器,以保持性能相对稳定 担心 表单提交和更改将相对简单。。差不多 $("form :inputs").bind("change", function() { ... record event... });
$("form :inputs").bind("change", function() { ... record event... });
但是如何确保优先于应用程序处理程序,因为当出现验证问题时,我有一个习惯,就是在我的许多表单处理程序上设置return false。据我所知,这有效地阻止了事件的发展
我的项目
对于我的小型远程客户,我将把他们的产品放到VPS上,或者在我的家庭数据中心运行。目前,我使用一个基本的身份验证系统,给他们一个用户名/密码,让他们看到网站,然后希望能给我发一些理智的说明,说明什么是坏的或应该调整的
作为一个更好的解决方案,我已经编写了一个简单的代理web服务器,它可以执行上述操作,但允许我有一个DNS条目,然后根据凭据发出内部请求,中继头并根据需要重新写入URL。每一个html/text或application/*请求都被压缩并放入一个sqlite表中,这样我就可以部分地重播它们所做的事情。现在我转到前端,希望捕获页面上所有内容的点击、按键和提交。通过
返回false代码>问题,请尝试使用自定义事件
// Bind custom event to all forms
$('form').bind('custom_submit_event',function() {
alert('custom submit event');
});
// Bind submit event to all forms that triggers the custom event
$('form').submit(function() {
$(this).trigger('custom_submit_event');
});
// Your regular submit event for a specific form
$('#myform').submit(function() {
// Run validation/submission code
return false;
});
$(document).click(function() {
alert('click')
})
.keydown(function() {
alert('keydown')
});
我没有经常使用自定义事件,但这对我很有用。不知道为什么它不能与其他活动一起使用
您还可以将处理程序分配给文档
。只要不点击返回false代码>问题,它们将出现在文档中。可能比在整个页面中使用许多事件处理程序的开销更好(效率更高)
$(document).click(function() {
alert('click')
})
.keydown(function() {
alert('keydown')
});
我认为你的想法可能是最好的解决方案,今天就写一个快速的模型,不管结果如何,把它贴到我的misc上。谷歌项目转储。