Какая разница между , и <button>? - PullRequest
0 голосов
/ 06 января 2020

Кажется, нет большой разницы между <a href> и <button> от другим вопросом , но можно ли использовать <div onclick>?

Ответы [ 2 ]

0 голосов
/ 06 января 2020

<a href=someURL>someText</a> сделает текст внутри якоря кликабельным, и вы попадете на какой-то URL, который вы укажете

<button (click)='someFunction()'> отличается по нескольким причинам. В вашем пользовательском интерфейсе он создаст четко нажимаемую кнопку, а не подчеркнутый текст. Нажатие на кнопку затем выполнит какую-то функцию, которую вы укажете для этой кнопки, будь то функция JavaScript / TypeScript или что-то еще.

<div onClick> аналогично кнопке onClick в том, что она выполняет какую-то функцию, которую вы пишете, но делает все деление интерактивной областью, а не просто кнопкой.

0 голосов
/ 06 января 2020

Грубо говоря,

<a href> по умолчанию имеет обработчик кликов, который анализирует URL-адрес и определяет правильный тип действия; для HTTP (S) URL он отправит запрос HTTP (S) и заменит window.location новым URL, а также правильно обработает History. Он также имеет другие обработчики, связанные с другими событиями, не только click.

<button type="submit"> по умолчанию имеет обработчик click, который определяет, куда должна быть отправлена ​​форма, создает URL в в случае метода GET или тела запроса в случае метода POST, затем выполняется то же самое, что и выше.

<... onclick="..."> вызовет код JavaScript в атрибуте onclick, если элемент отправил событие click. Этот код может делать все, что захочет, включая (но не ограничиваясь) имитацию любого из вышеперечисленного ответа на щелчок - но вам придется написать его самостоятельно. Если вы хотите смоделировать все, что делают вышеперечисленные, это будет много работы, и дьявол в деталях. (Кроме того, написание JavaScript кода внутри атрибутов HTML является странным; было бы хорошо связать обработчики событий из кода JavaScript с использованием addEventListener.)

...