Git Product home page Git Product logo

4008-preventdefault's Introduction

4008-preventdefault

This is a repo to demonstrate a bug in [email protected], documented at: ionic-team/ionic-framework#4008

This repo is built with generator-mcfly our yeoman generator that gives you a pre-wired gulp & browserify build system for angular apps and options to automatically integrate ionic.

Steps to reproduce:

  1. Clone the repo & cd into the directory
git clone https://github.com/jskrzypek/4008-preventDefault#master && cd 4008-preventDefault
  1. Install npm & bower dependencies
npm install && bower install
  1. Use git to apply a patch to stick some console.log messages on the Drag handler
git apply ionic.js.patch
  1. Use our gulp task to build the distributed code (using browserify)
gulp dist
  1. cd into the directory where the ionic project sits
cd dist/app/dev
  1. Add platforms
ionic platform add android ios
  1. Run/build for either platform with ionic run .... Note that I am currently only able to reproduce this bug in ios.
  2. Attach your console (safari developer view for ios or chrome://inspect#devices for android)
  3. In the tab labeled ion-list you should be able to scroll fine via dragging, and should see messages logged by the drag handler from our patch.
  4. Switch to the tab labeled ion-content. On ios you will not be able to scroll via dragging, but messages will be logged to the console showing us that the ev.preventDefault() method is being called on these legitimate drag events.
  5. Click the red heart in the upper-right corner. This will run the drag-handler.js script that swaps out the current version of the handler for the one with my suggested fixes.
  6. Now you can scroll just fine in the ion-content tab and ev.preventDefault() is not being called when it shouldn't be.

Usage

Testing

Changelog

Recent changes can be viewed on Github on the Releases Page

License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.