2017-01-04 2 views
3

Я установил точки останова непосредственно на источник/консоль или добавлю debugger в свой код, браузер, похоже, не отвечает на них. Любые идеи почему? Вот мой код:Контрольные точки отладки Chrome javascript не работают

if (select[i].placeholder != undefined && select[i].placeholder != '') { 
     selected.appendChild(document.createTextNode(select[i].placeholder)); debugger; 
    } else if (select[i].options[0].value == '' && select[i].options[0].textContent != '') { 
     selected.appendChild(document.createTextNode(select[i].placeholder)); 
    } else { 
     selected.appendChild(document.createTextNode('Select an option')); 
    } 
+0

Я вижу, вы приняли ответ о том, что они weren 't ударяется, потому что код, в котором у вас была точка останова, не достигался в потоке управления. Неужели это проблема? У вас была (скажем) точка останова на второй строке выше, но условие выше этой строки было ложным? –

ответ

2

Я думаю, что я вижу, что происходит. Как правило, вы не должны добавлять точки останова в середине оператора if. Это потому, что если инструкция ложна, она не будет запускать эту строку и, следовательно, «прыгать» по debugger или точке останова.

Поэтому, добавьте debugger; до или после того, как Условный оператор

/* Here -- debugger;*/ 
if (select[i].placeholder != undefined && select[i].placeholder != '') { 
    selected.appendChild(document.createTextNode(select[i].placeholder)); 
} else if (select[i].options[0].value == '' && select[i].options[0].textContent != '') { 
    selected.appendChild(document.createTextNode(select[i].placeholder)); 
} else { 
    selected.appendChild(document.createTextNode('Select an option')); 
} 
/* Or Here -- debugger;*/ 

В зависимости от того, что вы надеетесь захватить с отладкой ...

+0

Обнаружив этот элемент (потому что мои точки останова игнорируются хром) Я думаю, что название должно быть изменено - хром не игнорирует точки останова. Вопрос должен быть, пожалуйста, помогите мне поставить свои контрольные точки в правильном месте. –

6

В Dev Tools на панели источников, есть кнопка, которая выглядит как маркер точки останова с линией через него: Эта кнопка отключает все точки останова. Чтобы снова включить их, нажмите кнопку.

Вот как это выглядит, когда они находятся в настоящее время включен (нажатие отключает их):

enter image description here

... и когда они в настоящее время отключены (щелчок это позволяет им):

enter image description here

Смежные вопросы