Вы используете .live
, не понимая, как это работает.
Измените .live
на .bind
, и оно будет работать.
Кроме того, прочитайте о .live
, чтобы узнать, что .live
привязывается к документу и ловит события, когда они всплывают, поэтому уже слишком поздно предотвращать действия по умолчанию или что-либо еще.
И, кстати, - если вы поместите код после оператора return, существует небольшая вероятность того, что кто-то может запутаться, думая, что он действительно выполняется по какой-то странной причине.
[править]
Если вы хотите, чтобы он работал без javascript (прогрессивное улучшение и прочее), вам следует использовать диалоги, созданные на стороне сервера, с целью задать вопрос, даже если javascript нет.
Если вы не заботитесь о прогрессивном улучшении и хотите, чтобы оно работало только в высокопроизводительных браузерах, то почему вам не нужен href?
переименуйте href
в data-href
и загрузите его, если пользователь подтвердит. Вам не нужно ничего предотвращать.