У меня есть проблема, когда, когда у меня есть этот HTML в Firefox, он открывает новое окно

<a style="float:right;" 
href='javascript:window.location.href="#";'onClick="javascript:addNewRecord();">
New Record</a>

Я пробовал self.location, window.location, #body и # h1 в качестве href.

Первоначально у меня был код как, но в Firefox, который не делал ничего, кроме открытия нового окна, и не выполнял мою функцию. Код прекрасно работает в Chrome.

<a style="float:right;" href="javascript:addNewRecord();">New Record</a>
4
richsoni 15 Авг 2010 в 18:30

4 ответа

Лучший ответ

То, как ведет себя ваш код, полностью зависит от того, что делает функция addNewRecord () (включая то, что она возвращает).

Трудно сказать, не видя внутри этой функции, но я бы сказал, что внутри происходит то, что происходит.

Обратите внимание, что то, что вы вводите в часть href = "", вероятно, не влияет на поведение, которое вы видите.

3
thomasrutter 15 Авг 2010 в 14:38

Попробуй это

<a onclick="javascript:addNewRecord();">New Record</a> 
0
Yves M. 15 Авг 2010 в 14:38

Канонический встроенный способ

<a style="float:right;" href="#"
onClick="addNewRecord(); return false">New Record</a>

Или лучше:

<a style="float:right;" href="#"
onClick="return addNewRecord()">New Record</a>

Где addNewRecord возвращает false в конце функции


Еще лучший способ -

window.onload=function() {
  document.getElementById("addLink").onclick=addNewRecord;
}
function addNewRecord() {
  ...
  return false;
}

Плюс

<style>
#addLink { float:right }
</style>

А также

<a href="#" id="addLink">New Record</a>

Поскольку злоупотребление HREF для ссылки, идущей в никуда только для того, чтобы получить указатель, не одобряется, вы можете рассмотреть <span> с помощью onclick и cursor: pointer. Требуется больше усилий, чтобы сделать такой элемент доступным, например, для программ чтения с экрана.

10
mplungjan 20 Ноя 2015 в 06:31

Пытаться :

onClick="addNewRecord();return false"
4
thiswayup 15 Авг 2010 в 14:47