Событие onclick не работает в теге span

Я считаю, что ваш лучший вариант - написать пользовательский модуль , который будет инкапсулировать все шаги, которые вы пытаетесь достичь. И поместите все переменные, отличные от 1, запускаются в один список.

Исходя из того, что вы описываете, я могу предположить, что у вас есть проблемы с:

  1. удобочитаемость
  2. maintance

Это будет намного чище иметь строку, которая будет выглядеть примерно так:

 - name: Run my nagios checks
   my_custom_nagios_module_1.0: >
     date={{ item.date }}
     varaible_x={{ item.x }}
   with_items:
     - { date: '%Y-%m-%d', x: 'foo' }
     - { date: '%Y-%m-%d', x: 'bar' }
     - { date: '%Y-%m-%d', x: 'baz' }

в отличие от повторения одного и того же набора задач снова и снова.

0
задан CertainPerformance 14 July 2018 в 00:13
поделиться

2 ответа

write будет ссылаться на глобальную функцию document.write, которая полностью заменит страницу, если страница уже загружена. Используйте другое имя функции, возможно, «addTodo»:

Возможно, было бы лучше использовать placeholder , а не жестко закодированное значение Title... в поле ввода:

var count = 50;
var i = 0;
var tag = '';

function addTodo() {
  var text = document.querySelector('.text_box').value;
  console.log(text);
  if (i < 50) {
    tag += '<div class="oneLine"><li class="input_text">' + text + '</li><span class="close_box">x</span></div>';
    document.querySelector('.store_ul').innerHTML = tag;
    console.log(tag);
    i++;
  } else {
    alert("lists can't be added more than 50 works");
  }
}
input[type=text] {
  width: 500px;
  height: 40px;
  float: left;
}

#input_table {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#input_box {
  text-align: center;
  padding-bottom: 50px;
  background-color: crimson;
}

.align_center {
  display: inline-block;
  text-align: center;
}

.submit_box {
  padding: 10px;
  width: 50px;
  height: 25px;
  background: #d9d9d9;
  color: #555;
  float: left;
  font-size: 16px;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 0;
  text-align: center;
}

body {
  background-color: gold;
}

.input_text {
  float: left;
}

.store_ul {
  margin: 0;
  padding: 0;
  text-align: right;
}

.oneLine {
  font-size: 30px;
  width: 100%;
  height: 50px;
  background-color: blue;
}

.close_box {
  padding: 5px;
  width: 50px;
  height: 25px;
  color: #555;
  cursor: pointer;
}
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="main.css">
  <title>ToDoList</title>
</head>

<body>
  <script>
  </script>
  <div id="input_table">
    <div id="input_box">
      <h1 style="color:white">My To Do List</h1>
      <div class="align_center">
        <input class="text_box" type="text" placeholder="Title...">
        <span class="submit_box" onclick="addTodo()">Add</span>
      </div>
    </div>
  </div>
  <div class="output_table">
    <div class="store_box">
      <ul class="store_ul">

      </ul>
    </div>
  </div>
  <script>
  </script>

</body>

0
ответ дан CertainPerformance 17 August 2018 в 12:05
поделиться
  • 1
    Спасибо, что ответили на мой вопрос! Я никогда не знал о заполнителе! Спасибо за ваш комментарий! – jay1234 14 July 2018 в 01:57

У вас конфликт имен, а собственный метод переопределяет ваш в глобальной области. В приведенном ниже примере вы можете увидеть, что это document.write.

<button onclick="console.log(write)">console</button>
<button onclick="console.log(write('hi'))">Hi</button>

0
ответ дан epascarello 17 August 2018 в 12:05
поделиться
  • 1
    Спасибо за ваш комментарий! Я исправил свой код! – jay1234 14 July 2018 в 01:59
Другие вопросы по тегам:

Похожие вопросы: