Почему сенсорные методы не могут получить параметр className? - PullRequest
1 голос
/ 13 марта 2019

Поскольку я выяснил, что new className(param) не имеет прямого отношения к instance(param){}, когда он передал функцию constructor, я пытался передать класс HTML в instance method без изменений.но он продолжает обнаруживать псевдокласс param.

Это мой код:

class Slider {
  'use strict';

  istouchStart(e) {
    console.log(e.target);
    this.coordX = e.touches[0].clientX;
    return this.coordX;
  }
  constructor(target) {
    // Variables
    var _ = this;
    console.log(target);
    $(target).stop(true, true).on({
      touchstart:_.istouchStart,
      touchmove:_.istouchMove,
      touchend:_.istouchEnd
    });
  }
}
const image = new Slider('.inline-grid');
  

  div {
    position: relative;
  }
  .inline-grid {
    margin: 0 auto;
    width: 2560px;
    border: 1px solid black;
    display: flex;
    flex-flow: row;

    overflow: hidden;
  }
  .wrap {
    width: 100%;
    display: flex;
    flex-flow: row;
  }
  .cell {
    display: flex;
    flex-flow: column;
    flex-shrink: 0;
    width: 100%;
    height: 200px;
  }
  .orange {
    background-color: orange;
  }
<div class="inline-grid">
  <div class="wrap">
    <div class="cell orange"></div>
  </div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

как мне получить .inline-grid из istouchStart метода?

это вторая попытка с использованием return и функция стрелки, но эта не работает без отображения ошибки.:

static istouchStart() {
  return (e) => {
    console.log(e.target);
    this.coordX = e.touches[0].clientX;
  }
}
...