我正在调试一个包含jquery对话框的页面,其中包含一个文本框和一个ok按钮。
当用户点击进入时,页面正在重新加载,文本框ID&值被传递给页面重新加载为get参数。例如
http://example.com?tex_box_id=text_entered_in_text_box
我无法弄清楚导致此行为的原因,并且无法弄清楚如何在页面本身重新加载时最好地跟踪它。
我试过单步执行所有jquery代码,但没有任何运气。我只能假设有人在某个地方附上了一个关键的新闻听众,但我无法弄清楚是谁。我知道我可以通过防止它们运行来解决这个问题,但我仍然想知道它为什么会发生。
请注意,如果单击“确定”按钮,则不会发生这种情况,只有当您在文本框中时按Enter键才会发生
答案 0 :(得分:2)
这将禁止提交页面上的所有表单:
$('form').submit(function() {
return false;
});
虽然这会“解决”您的问题,但您应该专门定位表单,并使用自定义JavaScript行为来提交数据(例如,使用$ .ajax)。
要进行更高级的调试,请使用以下命令:
$(window).keydown(function(event) {
var breakpoint = 1; // Place a breakpoint on this line!
// Then use the "step out of current function" button to
// continue through the JS that gets executed... much of it
// will likely be native code, but if you pay attention to
// the native function names, you should eventually see the
// event that is causing the reload.
});