в jQuery есть метод .unbind(). unbind - отвязать (событие). если передадим имя события, или несколько, то отключаются указанные события. вот я чуть переделал, а дальше я думаю Вы сами поймете, а если не поймете то обращайтесь я расскажу подробней как оно работает
$('p').on("mouseenter mouseleave click",function(event){
var elem = $(this), evt = {
mouseenter:function(){
$(elem).css("margin-left","10px");
}, mouseleave:function(){
$(elem).css("margin-left",0);
}, click:function(){
$('p').not(elem).css("color","green");
$('p').unbind(); // отключает все события у всех элементов p
}
}
evt[event.type]();
});