функция не срабатывает при перетаскивании DIV - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть .main-container DIV, внутри которого есть 2 дочерних DIV, и я хочу сделать эти DIV перетаскиваемыми.

Я использую jquery-ui для получения этого,Я могу перетащить, если я напишу следующий код:

index.js

$( function() {
    $( ".text1" ).draggable({containment: 'parent'});
  } )


  $( function() {
    $( ".text2" ).draggable({containment: 'parent'});
  } )

Теперь я хочу сделать приведенный выше код динамическим, т.е. я хочу создать функцию, которая будет получатьимя класса в качестве параметра.

Примерно так:

function drag(val){
    console.log("here", val)
        $(val).draggable({containment: 'parent'});

  }

Однако, когда я создаю функцию, она не работает.Кто-то, дайте мне знать, что здесь не так.

index.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>New POC</title>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <link rel="stylesheet" href="./index.css">
</head>
<body>
    <div class="main-container">
        <div class="text1" ondrag="drag('.test1')">Text 1</div>
        <div class="text2" ondrag="drag('.test2')">Text 2</div>
    </div>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
    integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
    crossorigin="anonymous"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script src="./index.js"></script>
</body>
</html>

1 Ответ

0 голосов
/ 28 февраля 2019

Вам нужно включить в тег дополнительный атрибут, который можно перетаскивать = 'true':

<div class="text1" draggable='true' ondrag="drag('.test1')">Text 1</div>
<div class="text2" draggable='true' ondrag="drag('.test2')">Text 2</div>
...