2012-11-23 36 views
8

Trong trang web của tôi có một số neo mà không có liên kết, như thế này:Neo nhấp và giữ vị trí trang?

<a href="#">Anchor</a> 

Khi tôi bấm neo đó là dưới cùng của trang, Trang được di chuyển lên trên. Tôi muốn giữ vị trí trang, nếu tôi nhấp vào liên kết. Tôi có thể làm cái này như thế nào. (không có js nào tốt hơn cho tôi)

Tôi hy vọng, tôi có thể giải thích.

Xin cảm ơn trước.

Trả lời

18

Bạn vẫn sẽ phải sử dụng JS, nhưng bạn có thể làm điều đó inline:

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

Demo: http://jsfiddle.net/7ppZT/

Ngoài ra, bạn có thể chụp sự kiện:

$('a[href^="#"]').click(function(e) { 
    e.preventDefault(); 
}); 
+0

Cảm ơn rất nhiều. Đây là câu trả lời mà tôi mong đợi. Tôi sẽ chấp nhận điều này. –

+1

@AliRiza FYI bạn sẽ cần JQuery để thay thế. – Ben

+0

@Steve, Có rất nhiều liên kết như thế này. –

4

Bạn có thể đặt các neo vào bất kỳ nơi nào trong trang nơi bạn muốn nó đi.

<a href="#stophere">Anchor</a> 

<a id='stophere'>Bottom Of Page</a> 

Sau đó, liên kết sẽ chuyển đến neo được đặt tên. Chỉ cần dính vào yếu tố đó bất cứ nơi nào bạn muốn dừng lại.

+0

thats đúng nhưng bạn nên sử dụng id thay vì tên –

+0

Cảm ơn, nhưng tôi không muốn đi vị trí đặc biệt. Tôi muốn nó giữ vị trí của nó. –

+0

@ F.Müller - ahh, bạn nói đúng. Cảm ơn, tôi không biết điều đó. http://stackoverflow.com/questions/484719/html-anchors-with-name-or-id – Ben

1

để khắc phục sự cố này, tôi sử dụng mã này, giải pháp tập lệnh của nó nhưng hoạt động trên tất cả các trình duyệt

<a href="javascript:void(0)">Anchor</a> 
0
<a href="#noname">Anchor</a> 

Hãy chắc chắn rằng noname bạn không sử dụng cho id thuộc tính của bất kỳ thẻ hoặc name thuộc tính của a thẻ.

1

bạn phải thiết lập một tên và thêm tên sau khi # như thế này

<a name="adsf" href="#adsf">Anchor</a> 
Các vấn đề liên quan