2011-08-10 4 views
0

からオブジェクト内部機能をaccesingだから、これは私のコードです:

$(document).jkey('left',function(){ 
    alert("Left key pressed"); 
    $.galleryUtility.slideRight 
}); 

この機能は、galleryUtilityオブジェクトの内部に配置されています。目的は、左キーが押されたときにalertslideRightの両方を呼び出すことです。

これまでのところ、左のキーを押すと警告が呼び出されますが、slideRightの機能は呼び出されません。これは、slideRightgalleryUtitityオブジェクトの内部機能であり、$(document)がオブジェクトの範囲外であるためです。

どうすればその機能からslideRightに電話できますか?

答えて

3

alertは、ユーザーがアラートと対話するまで、他のすべてのコードが実行されるのをブロックします。

slideRightを期待通りに使用するには、2行を切り替える必要があります。他のJavaScriptのブロッキングalertを示す例:http://jsfiddle.net/Akkuma/r8bYp/

はまた、あなたが$.galleryUtility.slideRight()で行う必要がありslideRightを、実行されていません。プラグインのメソッドを実行するために文字列を使用しているプラ​​グインについては、jQueryのパラダイムに従わないように注意してください。 $.galleryUtility('slideRight')。実際に、私はあなたが$で生活しているgalleryUtilityをなぜ持っているのか分かりません。

+0

ほんの少しの免責事項:私はJavaScriptとJqueryで吸う。 $ .galleryUtilityが実際に$から離れているかどうかはわかりません。私はこのコードをプラグインの中に入れているのを見ています。それはプラグインが同じメソッドを呼び出すために使用した方法でした。 – Chaim

+0

実生活では実際には警告はありません。私は、その機能の呼び出しが機能していることがわかっていることを説明するために示しています。 alert()が助けにならずにalert()を置くと、それはまったく呼び出されません。つまり、最初のメソッド呼び出しに何か問題があると思いますか? – Chaim

+1

'()'なしで関数を呼び出すことはできません。 'slideRight()'を試す必要があります。大まかには、変更のマージを処理したい場合や、変更を反映させたい場合以外は、他のサードパーティのプラグインを変更しないでください。 FirebugのコンソールまたはChromeのコンソールを開き、エラーが表示されていないかどうかを確認します。あなたのコードがあなたが思っていることをしていないことを意味するエラーがなければ。 – Akkuma

関連する問題