0

これはおそらく非常に簡単な修正です。私はこれを理解できないようです。

イベント名を変数に保存し、以下の疑似コードに示すようにコードで使用したいと考えていますが、うまくいかないようです。以下のコードのコメントを参照してください。

var EVENT;
if (something == true) EVENT = "hover";
else EVENT = "click";

mynav = function() {
   $(".nav").not(".nav2").bind(EVENT, function() { // EVENT works fine here
   ......
   ......
   ......
   } (EVENT == "hover")?', function() {}':''; ); // If EVENT is "hover", I want to display function()... Not sure how to make it work here....
}
4

3 に答える 3

0
var EVENT = something == true ? "hover" : "click";
mynav = function() {
    $(".nav").not(".nav2").bind(EVENT, EVENT === "hover" ? function() {
        // Hover function
    } : function() {
        // Click function
    });
}
于 2013-03-17T15:58:03.697 に答える
0

関数を次のように分離してみてください。

function myHover () {}

function myClick() {}

コードで関数を呼び出します。

mynav = function() {
   $(".nav").not(".nav2").bind(EVENT, function() { // EVENT works fine here
   ......
   ......
   ......
   } , ((EVENT == "hover")?:myHover : myClick ));
}
于 2013-03-17T15:55:01.403 に答える
0

関数を作成し、好きな場所で呼び出します

function MyHover(){
alert('MyHover()');
} 

function MyClick(){
alert('MyClick()');
} 

var EVENT;
if (something == true) EVENT = "hover";
else EVENT = "click";

mynav = function() {
   $(".nav").not(".nav2").bind(EVENT, function() { // EVENT works fine here
   ......
   ......
   ......
   } (EVENT == "hover")? MyHover() : MyClick() ; ); // If EVENT is "hover", I want to display function()... Not sure how to make it work here....
}
于 2013-03-17T15:31:43.567 に答える