Tôi có 2 nút, nhấp vào một nút sẽ trao đổi lớp cho cả hai nút.
Các lớp học là selected
và unselected
.Sử dụng jQuery để xóa và thêm lớp vào nút, lớp mới được thêm sẽ không hoạt động với chức năng nhấp chuột
My CodePen:
http://codepen.io/leongaban/pen/iLBvs
Ví dụ: nhấn vào nút Login sẽ loại bỏ nó là môn học không được chọn và cung cấp cho nó lớp chọn của mình và cung cấp cho các nút Register lớp được chọn của nó.
Bây giờ vấn đề là lớp register_unselected
không hoạt động. Các lớp học unselected
là những lớp có nhấp vào các hành động trong jQuery của tôi.
Tôi có thể tiếp tục nhấp vào nút màu xám và chuyển sang màu xanh lam. Tuy nhiên sau khi nhấp vào nút màu xám đầu tiên (đăng nhập), thanh ghi nút màu xám mới không hoạt động.
Sử dụng trình kiểm tra của Chrome Tôi có thể thấy rõ rằng lớp register_unselected của tôi đã được thêm vào, nhưng chức năng nhấp chuột không hoạt động.
Bất kỳ ý tưởng nào? Làm thế nào bạn sẽ tiếp cận này?
// Login Tab (default : first)
$(".login_unselected").click(function(){
console.log('clicked login');
// Show Login Tab as selected
$(this)
.removeClass('login_unselected')
.addClass('login_selected');
// Show Register Tab as unselected
$(this).parent().find('#tab_register')
.removeClass('register_selected')
.addClass('register_unselected');
});
// Register Tab
$(".register_unselected").click(function(){
console.log('clicked register');
// Show Login Tab as selected
$(this)
.removeClass('register_unselected')
.addClass('register_selected');
// Show Register Tab as unselected
$(this).parent().find('#tab_login')
.removeClass('login_selected')
.addClass('login_unselected');
});
hai từ: 'sự kiện ủy quyền', sự kiện nhấp không tìm kiếm các phần tử đạt được lớp đó khi nó liên kết, chỉ các phần tử tồn tại với lớp đó khi tải trang. sửa lỗi nhanh là '$ (tài liệu) .on ('click', 'class', function() {// normal code});' trong khi thay thế 'document' bằng phần tử tĩnh không thay đổi. – Ohgodwhy
Cảm ơn mẹo! : D –
@Leon xem giải pháp hiện tại chưa được bỏ phiếu của tôi, sử dụng ít hơn một nửa số lượng mã bạn hiện đang sử dụng. Không cần nó. – Dom