有没有人有类似的经历?我想通过使用.load("...")函数将外部文件加载到当前页面.加载后,如何触发<div id ="tab-3-list">中图像的点击?
剧本
$("#tab-3-list img.coupon_list").on("click", function (e) {}
Run Code Online (Sandbox Code Playgroud)
不起作用.如果我将list.html的内容嵌入到当前正文中,则上述脚本可以正常工作.
<html lang="en" class="ui-mobile">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
</head>
<section id="home" data-role="page">
<article data-role="content">
<div id="home-content"></div>
</article>
<!-- content -->
</section>
<!-- home -->
<script type="text/javascript">
$(document).ready(function() {
$("#home-content").load("list.html");
$("#tab-3-list img.coupon_list").on("click", function (e) {
e.preventDefault();
window.alert(this.id);
});
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
外部文件list.html
<div id="tab-3-list">
<div class="ui-grid-a">
<div class="ui-block-a">
<img id="c01" class="coupon_list" src="/images/coupon/c01.png">
</div>
</div>
<!-- /ui-grid-a -->
</div>
<!-- /tab-3-list -->
Run Code Online (Sandbox Code Playgroud) console.log($obj.longurl)从 Chrome 开发者控制台执行时提示错误
Uncaught SyntaxError: Unexpected token {
$.ajax.complete
L jquery.min.js:19
N
Run Code Online (Sandbox Code Playgroud)
下面是我从 HTML 页面执行并提交表单以调用外部 PHP 文件的脚本。
从http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js调用 Javascript
$('#shortener').submit(function(e) {
e.preventDefault();
$('#status').text('');
$.ajax({
cache: false,
type: "POST",
dataType: "json",
data: $('#shortener').serialize(),
url: $('#shortener').attr('action'),
complete: function (XMLHttpRequest, textStatus) {
console.log(XMLHttpRequest);
$obj = JSON.parse(XMLHttpRequest.response);
if ($obj.loginResult == "Passed") {
($('#longurl').val() === "") ? console.log("Empty longurl") : console.log($obj.longurl);
} else {
$('#status').text("Login Failed");
};
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
PHP
echo json_encode(array('loginResult' =>'Passed'));
echo json_encode(array('longurl' => BASE_HREF . $shortened_url)); …Run Code Online (Sandbox Code Playgroud)