我只是尝试加载一个抓取设备信息并将其发送到API的页面。成功之后,我需要它来指向onCLick page1函数。
$(document).ready(function () {
// load index page when the page loads
var deviceID = "300"; //for testing purposes
$.ajax({
url: "funcEntity.cfc?method=setSession&returnformat=json",
dataType: "json",
data: {
deviceID: deviceID
},
success: function(result) {
// Simulate function to open #page1
}
});
$("#page1").click(function () {
// load home page on click
$("#response").html("TESTING 1");
});
$("#page2").click(function () {
// load about page on click
$("#response").html("TESTING 2");
});
$("#page3").click(function () {
// load contact form onclick
$("#response").html("TESTING 3");
});
$("#page4").click(function () {
// load contact form onclick
$("#response").html("TESTING 4");
});
$("#page5").click(function () {
// load contact form onclick
$("#response").html("TESTING 5");
});
});
我尝试$('#foo').trigger('click');
也没有成功。我错过了什么?
答案 0 :(得分:1)
我不明白为什么你需要所有这些点击事件。我让这个在我的服务器上工作。
为什么不将所有这些点击事件分配给所有相关的导航按钮,然后将点击事件附加一次,而不是使用所有这些点击事件。然后,您可以根据id属性加载页面。
我认为你需要将click事件与.on()绑定到那些元素,我在下面对所有带有.nav类的元素进行绑定,或者它以某种方式与ajax代码的放置有关(不太可能) )。我将它移动到点击事件下方。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<button id="home" class="nav">Home</button>
<button id="about" class="nav">About Us</button>
<button id="contact" class="nav">Contact</button>
<div id="response"></div>
<script type="text/javascript">
$(document).ready(function() {
// bind click event to nav elements
$('.nav').on('click', function() {
// get the id
var page = $(this).attr('id');
// now you can use the id to load a specific page
switch(page) {
case 'home':
$('#response').html('Redirect to Home');
break;
case 'about':
$('#response').html('Redirect to About Us');
break;
case 'contact':
$('#response').html('Redirect to Contact');
break;
}
});
// substitute your ajax code here
$.ajax({
url: "mycode.php",
type: "post"
}).done(function() {
// trigger home page click
$('#home').trigger('click');
});
});
</script>
</body>
</html>