Как сделать так, чтобы тег привязки ссылался ни на что?

Другой вариант - использовать https://github.com/spulec/freezegun/

Установить его:

pip install freezegun

И использовать его :

from freezegun import freeze_time

@freeze_time("2012-01-01")
def test_something():

    from datetime import datetime
    print(datetime.now()) #  2012-01-01 00:00:00

    from datetime import date
    print(date.today()) #  2012-01-01

Он также влияет на другие вызовы datetime в вызовах методов из других модулей:

other_module.py:

from datetime import datetime

def other_method():
    print(datetime.now())    

main.py:

from freezegun import freeze_time

@freeze_time("2012-01-01")
def test_something():

    import other_module
    other_module.other_method()

И, наконец:

$ python main.py
# 2012-01-01

139
задан Bryant Jackson 2 January 2017 в 17:09
поделиться

6 ответов

Думаю, вы можете попробовать

<a href="JavaScript:void(0)">link</a>

Единственная загвоздка, которую я вижу здесь, - высокий уровень безопасности браузера может запрашивать выполнение javascript.

Хотя это один из более простых способов, чем

<a href="#" onclick="return false;">Link</a>

, его следует использовать с осторожностью

Прочтите эту статью, чтобы узнать о некоторых указателях https: //web.archive. org / web / 20090301044015 / http: //blog.reindel.com/2006/08/11/a-hrefjavascriptvoid0-avoid-the-void

14
ответ дан 23 November 2019 в 22:45
поделиться

Что вы имеете в виду под словом «ничего»?

<a href='about:blank'>blank page</a>

или

<a href='whatever' onclick='return false;'>won't navigate</a>
22
ответ дан 23 November 2019 в 22:45
поделиться

Правильный способ справиться с этим - «разорвать» ссылку с помощью jQuery, когда вы обрабатываете ссылку

HTML

<a href="#" id="theLink">My Link</a>

JS

$('#theLink').click(function(ev){
    // do whatever you want here

    ev.preventDefault();
    ev.stopPropagation();
});

Эти последние два вызова останавливают интерпретацию браузером щелчка.

35
ответ дан 23 November 2019 в 22:45
поделиться

Чтобы он вообще ничего не делал, используйте это:

<a href="javascript:void(0)"> ... </a>
38
ответ дан 23 November 2019 в 22:45
поделиться

Есть несколько менее совершенных решений:

1. Ссылка на поддельный якорь

<a href="#">

Проблема: при нажатии на ссылку происходит возврат назад наверх страницы

2. Использование тега, отличного от 'a'

Используйте тег span и используйте jquery для обработки щелчка

Проблема: нарушает навигацию с клавиатуры, необходимо вручную изменить курсор наведения

3. Ссылка на функцию void javascript

<a href="javascript:void(0);">
<a href="javascript:;">

Проблема:разрывы при связывании изображений в IE

Решение

Поскольку все они имеют свои проблемы, решение, на котором я остановился, состоит в том, чтобы ссылаться на поддельный якорь, а затем возвращать false из метода onClick:

<a href="#" onClick="return false;">

Не самое краткие решения, но все проблемы решаются указанными выше методами.

256
ответ дан 23 November 2019 в 22:45
поделиться
Другие вопросы по тегам:

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