我有一个基于网络的销售工具的远程控制系统,我们使用它在jQuery 1.5.1之后非常好用,现在系统改造为jquery 1.8.1,其间歇性最好。
系统与查看器和控制器一起工作,在控制器中单击的内容将保存到数据库并由查看器读取,然后使用jquery .click()方法对其进行操作
代码:
function ProcessCommand() {
// Setup strings for return values.
xmlProcessCommand = GetXmlHttpObject();
// Setup strings require for function.
var strNewCommand;
var intSplitLocation;
// Get commands from database (AJAX)
var strCommandRequest = "../drone/processcommand.aspx";
strCommandRequest = strCommandRequest + "?sid=" + Math.random();
xmlProcessCommand.onreadystatechange = function () {
if (xmlProcessCommand.readyState == 4) {
// Items have arrived back, get item.
strNewCommand = xmlProcessCommand.responseText; // Instructions received.
// Check received instructions against stored instructions
if (strCurrentCommand != strNewCommand) {
// Place the new instructions into the current instructions for overload protection.
strCurrentCommand = strNewCommand;
// Extract code
intSplitLocation = strNewCommand.indexOf("|");
strNewCommand = strNewCommand.substring(0, intSplitLocation);
if (strNewCommand != "") {
// Click the specified ID
$('#' + strNewCommand).click(); // Click element
}
}
}
};
xmlProcessCommand.open("GET", strCommandRequest, true);
xmlProcessCommand.send(null);
// Loop function.
setTimeout("ProcessCommand()", 500);
}
strNewCommand接收要单击的元素(基于id)和数据库中的时间戳,如果它更新则可以计算出来并进行操作。
单击div的工作之类的简单事情,但似乎无法点击某些锚点,即使收到了正确的元素名称且该元素在html中是唯一的。它可以完全控制灯箱,它只是简单的东西让我把头发拉出来。
我已经使用警报(我知道的不好的做法)和使用firebug进行了检查,它显示了元素名称,如果它告诉我为什么它无法点击它,那就太好了。
任何帮助都会有很大的帮助。
答案 0 :(得分:0)
在午餐时间有一丝灵感,尝试通过onclick事件切换一些普通的旧锚链接“点击”,这一切都重新回归生活..
所以你有它,.click()方法不是那么热衷于点击<a href....>
但是对<a onclick=......>
非常满意