比方說,我有一個場景,我有一個全局插件(或至少一個插件綁定到更廣泛的事件)。jquery .live()事件交互
這個插件需要一個選擇器,並綁定一個實時點擊。事僞jQuery的可能看起來像這樣的:
$.fn.changeSomething = function(){
$(this).live("change", function(){ alert("yo");});
}
在另一頁,我有一個額外的生活結合是這樣的:
$("input[type='checkbox']").live("click", function(){alert("ho");});
在這種情況下,該複選框將理想最終被綁定到兩個現場活動。
我所看到的是,改變事件發生,因爲它應該,我驚動「喲」。但是,使用這個實時點擊事件,我從來沒有觸發它。但是,使用明確的點擊綁定,我確實打了它。
簡單的解決方法是在實時更改處理程序結束時觸發點擊事件,但對我來說這似乎很難受。有任何想法嗎?
請注意,這是使用jquery 1.4.2,只發生在IE8(我假設6/7也會,但我沒有測試過它們)。
一個例子(你需要jQuery的1.4.2.min.js):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.fn.changeSomething = function(){
var t = $(this);
t.live("change", function(){
alert("yo");
});
};
$(document).ready(function(){
$("input[type='checkbox']").changeSomething();
$("#special").live("click", function(){
alert("ho");
});
});
</script>
</head>
<body>
<form>
<input type="checkbox" id="cbx" />
<input type="checkbox" id="special" />
</form>
</body>
</html>
你能後周圍的例子的代碼不工作?例如它是否準備好了? – 2010-03-08 23:07:45
當然,請參閱我最近的修改。很簡單的例子,但這基本上是流程。 – ddango 2010-03-08 23:20:52
我每次都會在這裏開火,改變點燃,然後點擊...你用什麼瀏覽器出現問題? – 2010-03-08 23:25:37