2013-07-25 38 views
7

Tôi có toàn bộ div có thể nhấp. Đây là mã của tôi:Nút onclick bên trong toàn bộ div có thể nhấp

<div onclick="location.href='@Url.Action("SubClass", "Product", new { id = productClass.HierarchyId })';" class="menu-class"> 
      <img src="~/Images/ClassImages/@imageName" alt="@productClass.HierarchyShort" /> 
      <div class="menu-class-text"> 
       <span>@productClass.HierarchyShort</span> 
      </div> 
      <div class="menu-class-admin-options"> 
       <button onclick=" location.href = '@Url.Action("EditClass", "Product")'; ">Edit</button><br/> 
       <button onclick=" location.href = '@Url.Action("DeleteClass", "Product")'; ">Delete</button> 
      </div> 
     </div> 

Đây là div có hình ảnh về tên sản phẩm và nhóm. Và khi người dùng di chuột qua nó, bên trong nút div show 2 Edit và Delete. Vấn đề là khi tôi nhấp vào bất kỳ nút nào bên trong Div, cuộc gọi của nó là onclick của div chứ không phải nút onclick. Bạn có cần trợ giúp không? Xin lỗi tiếng anh của tôi.

+0

Trong mã CSS bạn muốn sử dụng một trong hai thuộc tính quan trọng Hoặc sử dụng giá trị z để chọn giá trị nào nằm trên đầu trang Id cho biết một mã sẽ hoạt động. – matthiasgh

+0

Xin vui lòng tải lên css của bạn và tôi sẽ có một đi – matthiasgh

+6

Như matthiasgh nói, hãy thử thêm một chỉ số z cao hơn cho các nút (chắc chắn rằng chúng là 'vị trí: tương đối;', quá). Nếu không, bạn có thể thử thêm 'event.stopPropagation()' sau khi thao tác nhấn nút. – robooneus

Trả lời

6

Cảm ơn tất cả. Như nói robooneus. Tôi chỉ cần đặt điều này:

<button onclick=" location.href = '@Url.Action("NewClass", "Product")'; event.stopPropagation(); ">Edit</button><br/> 

Và hiện đang hoạt động. Cảm ơn tất cả.

+0

giải pháp đẹp – Matcoil

7

Đối với hai nút của bạn, tạo ra một chức năng mới, và thêm mã này ngay từ đầu:

event.cancelBubble = true; 
if(event.stopPropagation) event.stopPropagation(); 

Sau đó thêm mã của riêng bạn.

Html:

<div onclick="location.href='@Url.Action("SubClass", "Product", new { id = productClass.HierarchyId })';" class="menu-class"> 
     <img src="~/Images/ClassImages/@imageName" alt="@productClass.HierarchyShort" /> 
     <div class="menu-class-text"> 
      <span>@productClass.HierarchyShort</span> 
     </div> 
     <div class="menu-class-admin-options"> 
      <button onclick="editClass()">Edit</button><br/> 
      <button onclick="deleteClass()"; ">Delete</button> 
     </div> 
    </div> 

Các Javascript:

function editClass() { 
    event.cancelBubble = true; 
    if(event.stopPropagation) event.stopPropagation(); 

    location.href = '@Url.Action("EditClass", "Product")'; 
} 

function deleteClass() { 
    event.cancelBubble = true; 
    if(event.stopPropagation) event.stopPropagation();$ 

    location.href = '@Url.Action("DeleteClass", "Product")'; 
} 
Các vấn đề liên quan