2008-10-01 36 views
7

Tôi đang cố tạo kiểu cho hộp nhập được hiển thị bằng cách sử dụng jEditable.Kiểu CSS kiểu hộp nhập có thể chỉnh sửa

Tôi muốn thay đổi màu của ô bảng khi văn bản được nhấp đúp và có thể chỉnh sửa được. Như thế này:

alt text http://www.hongaijitsu.com/temp/foobar/public/Picture-2.png

Đây là nơi tôi đang ở thời điểm hiện tại: jEditable CSS Problem (kích đúp vào văn bản trong tế bào bảng)

đoạn mã HTML:

<tr class="odd"> 
    <td class="dblclick" headers="customer-name">Drogo Shankara</td> 
    <td class="dblclick" headers="mail">[email protected]</td> 
    <td class="dblclick" headers="type">Web</td> 
    <td class="dblclick" headers="status">Pending mail</td> 
</tr> 

jQuery đang :

$(function() { 

$(".dblclick").editable("#", { 
    tooltip : "Doubleclick to edit...", 
    event  : "dblclick", 
    css : 'inherit' 
    }); 
}); 

CSS tương ứng:

.dblclick form { 
    height: inherit !important; 
    width: inherit !important; 
    border: 0; 
    margin: 0; 
    padding: 0; 
    background: red; 
    } 

.dblclick input { 
    height: inherit !important; 
    width: inherit !important; 
    border: 0; 
    margin: 0; 
    padding: 0; 
    font: inherit; 
    color: inherit; 
    } 

Tôi muốn đầu vào hộp để kế thừa chiều rộng chiều cao & từ table-cell phụ huynh, nhưng khi tôi nhìn vào các đầu vào-box trong Firebug nó có một chiều cao inline CSS & chiều rộng đã được thiết lập, gây ra ô bảng để mở rộng khi văn bản td được nhấn. Tôi cố gắng ghi đè lên CSS nội tuyến với inherit !important, nhưng nó không hoạt động.

Có một số khái niệm trong trò chơi ở đây mà tôi chưa hiểu đầy đủ, nhưng nó có thể là một cái gì đó hoàn toàn cấm.

Bất kỳ ý tưởng nào là sai?

Trả lời

2

jQuery/JavaScript đang thao tác DOM và tự động thêm/đặt độ rộng của trường nhập mỗi lần bạn DoubleClick. Vì kiểu nội tuyến (ở đây được tạo động trong DOM) được ưu tiên hơn tất cả các kiểu khác, bạn không thể thay đổi kiểu nội tuyến được tạo động với các thuộc tính mới trong lớp được đính kèm. Nếu bạn muốn loại bỏ hiệu ứng nhảy lạ, hãy xóa thuộc tính thiết lập chiều rộng của toàn bộ bảng trong tệp screen.css của bạn:

bảng { border-collapse: collapse; /chiều rộng: 940px; ... xóa/ }

Dường như mã bị nhầm lẫn khi tính chiều rộng để đặt trường nhập vào khi sử dụng chiều rộng bảng cố định (hoặc có thể có css ở đâu đó có "xung đột"). Khi tôi loại bỏ chiều rộng khỏi bảng, chức năng hoạt động và trông ổn.

Hy vọng điều này sẽ giúp, cho tôi biết nếu không ...

Các vấn đề liên quan