我使用jcrop
jQuery的裁剪圖像。要使用它,我正在使用$(function(){ $('#jcrop').Jcrop(); });
。如何使用Jcrop()對DOM的jQuery在未來產生的?
我的問題是,所述目標元件#jcrop
使用AJAX生成。所以當我使用上面的代碼時,它不能識別DOM元素。
如何更改代碼以使其與.live()
一起使用?
我使用jcrop
jQuery的裁剪圖像。要使用它,我正在使用$(function(){ $('#jcrop').Jcrop(); });
。如何使用Jcrop()對DOM的jQuery在未來產生的?
我的問題是,所述目標元件#jcrop
使用AJAX生成。所以當我使用上面的代碼時,它不能識別DOM元素。
如何更改代碼以使其與.live()
一起使用?
Delegate是到的替代方案。 live()
方法,是去是推薦的方式。委託您的事件在加載動態#jcrop元素時運行:
$("body").delegate("#jcrop", "load", function(){
$(this).Jcrop();
});
我在這裏有點困惑。 'load'事件是DOM'#jcrop'而不是'selector'這裏的? – ptamzz 2011-06-07 16:15:49
負載事件適用於動態「#jcrop」元素。我們只使用'body',因爲我們知道它最終可能包含'#jcrop'。所以真的,你可以用任何其他包含'#jcrop'的元素替換'body'。它不過是一個永遠不會改變的容器元素,我們可以安全地將事件委託給。 – BumbleB2na 2011-06-07 16:18:57
您是否檢出了dojo.Deferred接口? – 2011-06-07 15:53:41
對不起。我不知道Dojo是什麼? – ptamzz 2011-06-07 15:59:10