Можно ли добавить события onclick в поля ввода, сгенерированные jQuery? - PullRequest
0 голосов
/ 15 октября 2019

Это код, который я пытаюсь заставить работать.

            var inputText = $('<input>', {
                type: 'text',
                name: id,
                onclick: function() {
                    $('#' + nextQuestion).show();
                }
            });

Однако, когда я проверяю DOM и полученный объект jQuery, метод onclick является нулевым. У меня неправильный синтаксис?

Your permanent name DOM object

Ответы [ 2 ]

2 голосов
/ 15 октября 2019

На основании этих двух ответов В чем разница между "click" и "onclick" при создании элемента с jQuery? , .prop () против .attr ()

Значение атрибута может быть только строкой, тогда как свойство может быть любого типа.

Следовательно, onclick создает атрибут, а значение должно быть строкой, которая относится кfunction.

var inputText = $('<input>', {
       type: 'text',
       name: id,
       onclick: "somefunction()"
 });

somefunction() {}

click создает свойство элемента и значение должно быть фактической функцией.

 var inputText = $('<input>', {
   type: 'text',
   name: id,
   click: function () { 
      $('#' + nextQuestion).show();
   }
});
0 голосов
/ 15 октября 2019

может быть так?

var inputText = $('<input>', { type: 'text', name: 'something' });

inputText.onclick = function() { console.log('hello') }

console.log( inputText.onclick )
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...