Какой самый элегантный способ вставить этот условный оператор?

Я хотел бы передать переменную, чтобы вызвать этот метод либо щелчком , либо наведением курсора .

] Прямо сейчас по умолчанию используется щелчок.

    var defaults = {    
        xOffset: 10,        
        yOffset: 25,
        tooltipId: "easyTooltip",
        clickRemove: true,
        content: "",
        useElement: "",
        clickAppear: true
    }; 

    var options = $.extend(defaults, options);  
    var content;

$(this).click(function(e){
    $("#" + options.tooltipId).remove();                                                               
    content = (options.content != "") ? options.content : title;
    content = (options.useElement != "") ? $("#" + options.useElement).html() : content;
    $(this).attr("title","");                                                   
    if (content != "" && content != undefined){         
        $("body").append("<div id='"+ options.tooltipId +"'>"+ content +"</div>");      
        $("#" + options.tooltipId)
            .css("position","absolute")
            .css("top",(e.pageY - options.yOffset) + "px")
            .css("left",(e.pageX + options.xOffset) + "px")                     
            .css("display","none")
            .fadeIn("fast");
    return false;
    }
},

Я хочу, чтобы я мог передать вызов метода, который clickAppear = false , и в этом случае он альтернативно выдаст следующее:

$(this).hover(function(e){
  ...

Вместо копируя и вставляя весь метод дважды в условное выражение (которое, похоже, все равно не работало), мне было интересно, есть ли элегантный способ написать это условие, сохранив блок DRY.

Есть идеи?

0
задан Trip 21 July 2011 в 13:33
поделиться