我遇到的问题是,当我点击任何按钮然后刷新鼠标滚动时,停止为该页面工作。我必须手动转到右侧的滚动条并滚动到“解锁”我的鼠标滚动,以便我可以再次使用我的鼠标滚动滚动,或者如果我向下滚动强制页面滚动也将“解锁”鼠标滚动。再次刷新页面将“解锁”鼠标滚动,但有时每隔3或4次刷新“ lock ”鼠标滚动。什么不“解锁”鼠标滚动就是我在页面上做了一些不需要滚动或刷新的东西。一切仍然按照预期的方式工作,我可以转到其他页面并使用我的鼠标滚动。
我已经缩小到两种可能性,如果我错了,可能还有其他原因请说出来。 首先是我的按钮,我用两种方式创建它们:
<input type="button" id="saveButton" onclick="onSave(event)" value="Save"
class="k-button" style="margin-left:15px;margin-top:5px"/>
<button id="submitButton" onclick="submitTheForm()" >Submit</button>
请注意,onSave
,submitTheForm
为空,我注释掉了所有内容,它仍然“锁定”页面。这里有什么不对吗?
其次是我的表单创建方式。我从服务器下载XML。然后我创建一个XSLTProcessor并使用它的方法transformToFragment
来创建DOM DocumentFragment node
Link here。然后我将DOM DocumentFragment node
保存到document.htmlForm
以便稍后使用。
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(document.xmlFormStylesheet);
var htmlFormsFragment = xsltProcessor.transformToFragment(document.xmlFormData,
document);
var formsList = $(htmlFormsFragment).children("form_1")[0];
document.htmlForm = formsList;
当用户想要向页面添加新表单时,他们会单击一个克隆已保存表单的按钮并附加到包含所有表单的<div id="formContainer">
function createNewForm(formId) {
// clone the form, add id, and attach new title
var newForm = $(document.htmlForm).clone(true, true)[0];
// pull the content if
if (formId == null) {
...default intialization
}
$(newForm).attr("id", formId);
// any element in the form with an id will be prefixed
...
// change the "for" attribute for all the labels
....
//mask the input field for the premise cloned
....
//apply kendoUi
//find each select and date element in the premise part of the form and make it into a kendo widget
....
// trigger the copy event and append to the document
$("#formContainer").append(newForm);
$(document).trigger("cloneform", newForm);
return newForm;
}
有什么想法吗?
更新
此行为仅在Google Chrome中发生。另外,当我在其他浏览器上刷新时,我就是我刷新的地方。在Google Chrome中,它会让我回到页面顶部。