[英]Submit button in form doesn't work with Iscroll
我使用Iscroll 5,除了一件事外,一切都按我的要求工作。 我无法单击表单中的“提交”按钮,没有任何反应。
这是我的代码,我尝试了很多事情,但我不知道该如何解决。
<script type="text/javascript">
var scroll;
function loaded() {
scroll = new IScroll('#contenu', {
tap:true,
desktopCompatibility: true,
scrollbars: false,
interactiveScrollbars: true,
freeScroll: true,
scrollX: true,
scrollY: true,
momentum: false,
mouseWheel: true,
click: true,
useTransform: false,
onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA' && target.tagName != 'BUTTON') {
e.preventDefault();
}
}
});
}
//disables browser mouse scrolling
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
function wheel(event) {
event.preventDefault();
event.returnValue = false;
}
window.onmousewheel = document.onmousewheel = wheel;
</script>
老兄,您是我的英雄,您的修复工作正常,但由于默认处理程序有所不同,我对此进行了一些改进:)
因此,我替换了iscroll 1565行上的正常点击事件
case 'click':
if ( !e._constructed ) {
e.preventDefault();
e.stopPropagation();
}
break;
通过这一行,现在我没问题了,我的发送和重置输入工作正常,伙计!
case 'click':
if ( !e._constructed ) {
if ( !e._constructed && target.type != "submit") {
e.preventDefault();
e.stopPropagation();
}
e.preventDefault();
e.stopPropagation();
}
break;
这在我的ipad Android手机和未在IE上经过测试的Chrome Firefox上运行良好,但是检查器向我显示了一个错误,他说目标未定义?
有人有想法解决:p?
ps给作者的提示:您必须在iscroll声明中将click设置为false,否则会出现错误,并且人们无法在输入类型文本中输入正确的文本!
我修好了,我可以帮助别人,
case 'click':
if ( !e._constructed ) {
if ( !e._constructed && target.type != "submit") {
e.preventDefault();
e.stopPropagation();
}
}
在iscroll.js中。
替换下面的iscroll5
js文件中的代码行
if ( !e._constructed ) {
e.preventDefault();
e.stopPropagation();
}
同
if ( !e._constructed && e.target.type != 'submit' ) {
e.preventDefault();
e.stopPropagation();
}
我有同样的问题。 其他答案不能解决我的问题。
移除了click选项click: true
完全修复了该问题。
从文档中 :
options.click
要覆盖本机滚动,iScroll必须禁止某些默认浏览器行为,例如鼠标单击。 如果希望您的应用程序响应单击事件,则必须将该选项显式设置为true。 请注意,建议改用自定义点击事件(见下文)。
默认值:false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.