我似乎有点困惑。我要做的是创建一个Javascript函数,禁用页面上的所有输入,然后创建一个启用页面上所有输入的函数。
使用jQuery这很容易。我的问题是,如何在传统的JS函数中包装这些jQuery函数?我需要这样做的原因是因为我使用ActionScript调用这些函数。换句话说,我不明白我如何编写jQuery代码然后以传统的Javascript函数调用方式调用它。
效果很好,但不包含在函数中......
$(document).ready(function() {
$(':input').attr('disabled', "disabled");
});
包含在一个函数中并且根本不起作用,我在这里做错了什么?
function init_lock_test(){
$(':input').attr('disabled', "disabled");
}
答案 0 :(得分:5)
你不能直接从ActionScript中调用网页中的JavaScript函数,并且作为“jQuery函数”没有特别之处。您应using ActionScript's ExternalInterface间接调用JavaScript函数:
import flash.external.ExternalInterface
// Calls the function init_lock_test
ExternalInterface.call("init_lock_test");
答案 1 :(得分:1)
就我个人而言,我会避免使用jQuery,因为它并不是真的需要:p
试试这个:
function lockInputs(lock) {
var tags, elems, i, j;
tags = ['input','button','textarea'];
for( i=0; i<tags.length; i++) {
elems = document.getElementsByTagName(tags[i]);
for( j=0; j<elems.length; j++) {
if( lock) elems[j].setAttribute("_lock",elems[j].disabled);
elems[j].disabled = lock || elems[j].getAttribute("_lock");
}
}
}
那应该用lockInputs禁用所有输入字段(true);并使用lockInputs重新启用它们(false);
它还可以保存禁用状态,因此任何被禁用的状态都会保持这种状态
HTH!
答案 2 :(得分:0)
在传统的js函数中包装jquery实际上就像init_lock_test
函数一样简单。从ActionScript调用函数时必须遇到问题。试试这个来验证:
$(document).ready(function() {
init_lock_test();
});