是否有可能知道從哪裏啓動jQuery函數?jQuery函數 - DIV容器作爲參數
<div>
<script language="javascript">
$(document).ready(function() {
whereAmI($(currentDIV));
});
</script>
</div>
是否有可能知道從哪裏啓動jQuery函數?jQuery函數 - DIV容器作爲參數
<div>
<script language="javascript">
$(document).ready(function() {
whereAmI($(currentDIV));
});
</script>
</div>
沒有爲您保存關於正在執行的JavaScript加載的DOM位置的信息。但是,您可以使用一個事實,即它可以在加載實現這個內存腳本執行:
<div id="target">
<script>
var thisScript1 = $('script').filter(':last');
$(document).ready(function() {
console.log(thisScript1.closest('div').attr('id')); // prints 'target'
});
</script>
</div>
<div id="second">
<script>
var thisScript2 = $('script').filter(':last');
$(document).ready(function() {
console.log(thisScript2.closest('div').attr('id')); // prints 'second'
});
</script>
</div>
這裏,$('script').filter(':last');
指的是頁面上的最後一個腳本元素,它在執行時是「當前腳本」。請注意,對於我想記住的每個腳本,我已經命名了包含腳本對象的變量,否則它將被後續腳本破壞。另一種方法是將每個腳本包裝在一個立即執行的匿名函數中,以便綁定當地的變量thisScript
。
High five for you。我會在這裏玩弄你的提示,看看它如何處理我的需求。感謝你們所有人的幫助。 – user1288337 2012-03-23 18:42:33
對不起,它無法正常工作。我剛剛測試過,並且由唯一的var名稱(thisScriptx)進行了條件化......否則它將被最後一次javascript調用覆蓋,並且所有函數調用都將使用相同的參數值:( – user1288337 2012-03-23 21:36:53
如果該功能是由某種事件調用時,第一個參數是Event object,你可以只寫類似。
$('a').click(function(e){
console.log(e.target);
});
我的意思是,當DOM準備就緒時,whereAmI()函數將被啓動,但是我想本地化腳本f在頁面中。換句話說,whereAmI()函數可以在我的網頁的很多部分迭代,因爲div容器是ajax回調函數。這個jQuery函數將在這個div中準備處理程序。我其實不想在每個partialview中複製/粘貼我的whereAmI()函數內容... – user1288337 2012-03-23 18:02:33
在什麼情況下?通過什麼方式? – Starx 2012-03-23 17:52:45
您是否在搜索:「this」? (在你的例子中「這個」將是「文檔」)。要獲得jquery對象,請使用:$(this)。 – 2012-03-23 17:55:35
我認爲你正在爲什麼觸發該功能?例如,您想知道文檔就緒功能觸發了WhereAmI嗎? – 2012-03-23 17:58:28