Giải pháp tiêu chuẩn cho việc này là return false
từ trình xử lý click()
. return false
tương đương với số điện thoại preventDefault()
và stopPropagation()
trong sự kiện. preventDefault()
là đủ cho tác vụ này quá nên hoặc là return false
sẽ hoạt động.
Sự cố của bạn có vẻ là lỗi cú pháp và tham số sai. Tôi thấy:
fadeToggle
không có dấu ngoặc đơn;
- thông số chức năng được gọi là
id
nhưng bạn gọi số event.preventDefault()
; và
- Bạn đang làm mờ bài đăng và sau đó hiển thị ngay lập tức? Điều đó sẽ xếp hàng hai hình động nhưng không có nhiều ý nghĩa. Bạn có thể muốn kết nối hai thứ đó với nhau và
load()
một cách hợp lý.
Vì vậy, điều này sẽ làm việc:
$("#permalink a").click(function(event) {
$("#newPost").fadeToggle();
var id = this.getAttribute('href');
$("#newPostContent").load(id);
$("#newPost").show("fast");
return false;
});
Bạn có thể tự do thay thế return false
với event.preventDefault()
trong trường hợp này nhưng click()
sự kiện tuyên truyền có thể hoặc có thể gây ra các vấn đề khác tùy thuộc vào những gì xử lý sự kiện khác mà bạn có.
Cảm ơn sự giúp đỡ của bạn. –
"Này chuyện gì đang diễn ra ở bên này?" – Steerpike
Đó không phải là vấn đề ở đây. Vấn đề là .click (function (id) {nên là .click (function (event) {. – karim79