Q: Jquery click selective child elements and parent I am trying to get a div to toggle when a "contact_heading" div is clicked but I do not want to toggle the div if the edit, save or delete buttons are pressed.  I would like for the user to be back to click anywhere on the bar but the edit, save or delete buttons to produce the toggle.  Here is a fiddle: http://jsfiddle.net/j6LSA/
JQuery
//expand contacts
$('#content').on('click', '.rooms_contact_container .contact_heading', function() {
    $(this).parents('.rooms_contact_container').find('.contact_expanded').slideToggle();
});
//edit contact 
$('#content').on('click', '.rooms_contact_container .contact_heading .buttons .edit', function() {
    //no slide
    alert('edit');
});
//delete contact 
$('#content').on('click', '.rooms_contact_container .contact_heading .buttons .delete', function() {
    //no slide
    alert('delete');
});

HTML
<div id="content">
    <div class="rooms_contact_container">
        <div class="contact_heading">
            <div class="contact_contact">Contact</div>
            <div class="contact_name">Smith, John</div>
            <div class="contact_phone">555-555-5555</div>
            <div class="buttons">
                <div class="expand">^</div>
                <div class="delete">X</div>
                <div class="edit">E</div>
                <div class="save">S</div>
            </div>
        </div>
        <div class="contact_expanded">
            Some Content
        </div>
    </div>
</div>


A: You can return false from the event handler which will prevent event to fired for the parent.
//edit contact 
$('#content').on('click', '.rooms_contact_container .contact_heading .buttons .edit', function() {
    //no slide
    alert('edit');
    return false;
});
//delete contact 
$('#content').on('click', '.rooms_contact_container .contact_heading .buttons .delete', function() {
    //no slide
    alert('delete');
    return false;
});

http://jsfiddle.net/j6LSA/1/

A: You can also approach for this solution
$('#content').on('click', '.rooms_contact_container .contact_heading', function(e) {
    var target = $(e.target);

    if(!(target.hasClass("edit")||target.hasClass("delete")||target.hasClass("save"))){

        $(this).parents('.rooms_contact_container').find('.contact_expanded').slideToggle();

     }
});

Working DEMO
OR
instead of 
target.hasClass("edit")||target.hasClass("delete")||target.hasClass("save")

You can use
target.is(".edit,.save,.delete")

Wroking DEMO
