小编Yar*_*ron的帖子

在mouseup事件处理程序中取消单击事件

编写一些拖放代码,我想在我的mouseup处理程序中取消单击事件.我认为防止默认应该做的伎俩,但点击事件仍然被触发.

有没有办法做到这一点?


这不起作用:

<div id="test">test</div>
<script>
$("#test").mouseup (function (e) {
  var a = 1;
  e.preventDefault();
});
$("#test").click (function (e) {
  var a = 2;
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery click mouseup jquery-events

29
推荐指数
4
解决办法
3万
查看次数

溢出-x:隐藏在 iPhone 上不起作用

我正在尝试创建一个感觉像 iPhone/Android 设备上的本机应用程序的网站。我已经设法设置它以便 html 和 body 不滚动,并且我有一个单一的内容<div>,它是可滚动的部分。

但是,当设置

overflow-x:hidden
Run Code Online (Sandbox Code Playgroud)

为了只允许垂直滚动,我仍然在 iPhone(Chrome 和 Safari)上获得了水平滚动行为。可以看到滚动条属于 .content 元素。环境

overflow:hidden
Run Code Online (Sandbox Code Playgroud)

按预期工作并禁用所有滚动。

对我来说,它看起来像是 Chrome 上的一个错误。

编码:

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes" />
<style>
html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.scroll {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.content {
    height: 2000px;
    margin: 10px;
    overflow-x: hidden;
    background: linear-gradient(to bottom, #f00 0%, #00f 50%);
}
</style>
</head>
<body> …
Run Code Online (Sandbox Code Playgroud)

html css browser iphone ios

5
推荐指数
1
解决办法
1万
查看次数

Angular + Jquery - 程序化表单提交会导致重定向

我正在尝试编写一个包含ngsSubmit的表单.按Enter并单击提交按钮按预期工作(调用我为ng-submit提供的方法,就是这样).

但是,在某些情况下,我还希望在实际提交之前进行一些预处理,因此我尝试使用JQuery的submit()以编程方式触发提交.

这会导致ng-submit处理程序触发,并且还会发送通常刷新整个页面的表单.

任何想法如何绕过这个或为什么会发生???

这里的示例("点击我"显示不良行为) http://jsfiddle.net/Yf5tf/

<form ng-app="myApp" ng-submit="submitMe()" ng-controller="myCtrl">
    <input type="text" ng-model="value"></input>
    <input type="submit" value="Go!"></input>
    <div ng-click="progSubmit()">click me</div>
</form>

angular.module('myApp', [])
.controller('myCtrl', function($scope, $element, $timeout) {
    $scope.submitMe = function() { alert ("hi"); };
    $scope.progSubmit = function() {
        $timeout(function() {
            var inputElem =  $element.find("input");
            angular.element(inputElem[0].form).submit();
          }, 0);
    };
});
Run Code Online (Sandbox Code Playgroud)

谢谢你,亚伦

javascript forms jquery angularjs

2
推荐指数
1
解决办法
3051
查看次数

标签 统计

javascript ×2

jquery ×2

angularjs ×1

browser ×1

click ×1

css ×1

forms ×1

html ×1

ios ×1

iphone ×1

jquery-events ×1

mouseup ×1