2010-12-20 104 views
1

我有以下一段代碼:改變事件的執行順序

<html> 
<head> 
<script src="myplugin.js" /> 
<script> 
    $(document).ready(function() { 
    $('#mytable tbody tr').live('click', function() { 
    alert('Hi'); 
    }); 
    }); 
</script> 
</head> 
<body> 
<script> 
    $('#mytable').myplugin(); 
</script> 

<table id="mytable"> 
    <tbody> 
    <tr> 
    <td>Something</td> 
    </tr> 
    </tbody> 
</table> 
</body> 
</html> 

myplugin.js code 

..... 
return this.each(function(index, id) { 
$(id + ' tbody tr').live('click', function() { 
    alert('Hello'); 
}); 
}); 
..... 

根據該circustances,executiong的順序將是:

alert('Hi'); 
alert('Hello'); 

,但我想是相反的。 可以更改執行順序嗎? 謝謝

回答

0

這是不是最漂亮的方式,但你可以推遲你的第一個電話是這樣的:

$(document).ready(function() { 
    $('#mytable tbody tr').live('click', function() { 
    window.setTimeout(function() { 
     alert('Hi'); 
    }, 0); 
    }); 
    }); 

但也許有一個「官方」的方式,以及...

+0

不錯,這工作:D – Diego 2010-12-20 16:00:56

0

你應該交換腳本的順序。

+1

這是行不通的。不管怎樣,謝謝你 – Diego 2010-12-20 16:01:26