Javascript 使用JQuery在DOM中捕获鼠标点击? 背景
我在Web应用程序中使用POST表单提交,而不是带有串联参数的链接,因此我可以对输入进行控制 不幸的是,这意味着用户不能使用他们知道的快捷方式在新窗口中打开链接,如控制点或中键单击 问题 我已经找到了一种使用jQuery捕捉鼠标输入和各种和弦键的可行方法,它基于:Javascript 使用JQuery在DOM中捕获鼠标点击? 背景,javascript,jquery,dom,mouse,Javascript,Jquery,Dom,Mouse,我在Web应用程序中使用POST表单提交,而不是带有串联参数的链接,因此我可以对输入进行控制 不幸的是,这意味着用户不能使用他们知道的快捷方式在新窗口中打开链接,如控制点或中键单击 问题 我已经找到了一种使用jQuery捕捉鼠标输入和各种和弦键的可行方法,它基于: $(“点击span”)。点击(功能(事件){ buttonpress=event.button; ctrlpress=event.ctrlKey; $(“#单击结果”).empty(); $(“#单击结果”)。追加(单击!”; $(“
$(“点击span”)。点击(功能(事件){
buttonpress=event.button;
ctrlpress=event.ctrlKey;
$(“#单击结果”).empty();
$(“#单击结果”)。追加(单击!”;
$(“#单击结果”)。追加(“按钮#”+按钮按+”按!”;
如果(ctrlpress){
$(“#点击结果”)。追加(控制点击!”;
}
//表单提交代码将显示在此处
event.preventDefault();
}
);
我可以通过这种方式捕获控件单击(在Firefox 3和IE7中进行了测试),它正确地(?)报告鼠标左键单击来自鼠标按钮#0,但由于某些原因,此代码仍然无法捕获跨距上的中间单击,右键单击仍然会弹出上下文菜单。至少我想捕捉中间的点击
有人能帮忙吗
“控制”是什么意思
带有串联参数的GET提交/链接的问题在于,任何人都可以编辑地址栏并键入任何内容。我已经担心服务器端的身份验证和验证。这不是我想和波斯特共事的原因
我应该只向用户显示有意义的信息。内部数据库ID不可用。我应该只让用户以有意义的方式与应用程序交互。任意编辑地址栏不是其中之一
人们总是打错字。不过,从系统的角度来看,地址栏中的输入错误和应用程序逻辑中的缺陷没有区别,我不想把决定哪一个错误的责任推给用户。简短回答?不行 答案很长。还是做不到 这就引出了一个问题:你是需要使用POST还是仅仅想使用POST?您需要查询字符串长度的唯一原因是。至于想要,你提到“控制用户输入”。这到底是什么意思 您永远不应该依赖浏览器进行输入验证。您可以在那里方便地进行验证,但服务器应该始终验证输入 或者原因是审美(即更短,“更好”的URL)
你正在重塑超链接的轮子。我只是想确保你有一个非常好的理由这样做,因为这样做会适得其反,而且你永远不会得到与实际超链接相同的浏览器支持和兼容性。另外,你很可能只是让用户期望的东西不起作用而惹恼他们。不太好。细说也无妨。
$("span#clickspan").click( function(event) {
buttonpress = event.button;
ctrlpress = event.ctrlKey;
$("#clickresult").empty();
$("#clickresult").append("<p>Click!</p>");
$("#clickresult").append("<p>Button # " + buttonpress + " pressed!</p>");
if (ctrlpress) {
$("#clickresult").append("<p>Control-click!</p>");
}
//form submission code would go here
event.preventDefault();
}
);