例如:如何在javascript/jquery中調用文本函數?
<input id="#me" type="button" callme="doAction()"/>
<script>
var result = callFunction($("#me").attr('callme')); /// ?????????
</script>
例如:如何在javascript/jquery中調用文本函數?
<input id="#me" type="button" callme="doAction()"/>
<script>
var result = callFunction($("#me").attr('callme')); /// ?????????
</script>
我想,也許這是解決方案:
<script>
setTimeout($("#me").attr('callme'), 0);
</script>
可是如何才能讓返回值?
試試這個:
<script>
var callMe = $("#me").attr("callme");
var result = eval(callMe);
</script>
hmmmmmmmmmmmmmmmmmmmmm – 2010-10-11 13:07:10
如果屬性呼我是名稱的功能(標識),只要用
<input id="#me" type="button" callme="doAction"/>
(window[$("#me").attr('callme')] || function() {})();
這樣就可以避免使用昂貴的eval()
我喜歡這個,但是,我得到這個錯誤:(f)(); f不是函數?該功能存在... – 2010-10-11 13:47:30
哎呀,對不起。試試這個 (window [$(「#me」)。attr('callme')] || function(){})(); – 2010-10-11 15:03:39
更好的解決方案是不在HTML標記中包含該函數。將標記與腳本分開幾乎總是更好。
而是考慮將它添加到使用
$('#me').data('callme', function(){...});
或
$('#me').data('callme', doAction);
你的DOM對象,並使用
$('#me').data('callme')()
還是有點稱它更安全
($('#me').data('callme')||jQuery.noop)()
有關數據函數的更多詳細信息,請參閱jQuery documentation。
你的電話功能是做什麼的?你期望傳遞一個字符串嗎? – 2010-10-11 13:05:38
你究竟想要完成什麼? – Mottie 2010-10-11 13:13:12