2013-07-25 13 views
7

Ho un intero div selezionabile. Questo è il mio codice:Pulsante onclick all'interno dell'intero div selezionabile

<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> 

Si tratta di un div con l'immagine del nome del prodotto e del gruppo. E quando l'utente lo alza, all'interno di div mostra 2 pulsanti Modifica ed Elimina. Il problema è quando clicco su qualsiasi pulsante all'interno di Div, chiama l'onclick del div, non l'onclick del pulsante. Ti preghiamo di aiuto? Scusate il mio inglese.

+0

Nel codice CSS si desidera utilizzare entrambi! Importante attributo Oppure utilizzare il valore z per scegliere quale è in cima ID dire che funzionerà. – matthiasgh

+0

Per favore carica il tuo css e avrò un passaggio – matthiasgh

+6

Come diceva Matthiasgh, prova ad aggiungere uno z-index più alto ai pulsanti (assicurati che siano 'position: relative;', anche). Altrimenti, puoi provare ad aggiungere un 'event.stopPropagation()' dopo l'azione del tasto onclick. – robooneus

risposta

6

Grazie per tutti. Come dire robooneus. Ho appena messo questo:

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

E ora sta funzionando. Ringrazia tutti.

+0

bella soluzione – Matcoil

7

Per i vostri due pulsanti, creare una nuova funzione, e aggiungere questo codice all'inizio:

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

Quindi aggiungere il proprio codice.

il codice 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> 

Il 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")'; 
} 
Problemi correlati