Работает jQuery на текущей странице.
Я загрузил удаленную страницу в div на моей текущей странице, используя:
<div class="row-fluid">
<ul class="nav nav-tabs">
<li><a data-toggle="tab" id="spotlight" href="#" data-hvalue="menu1">menu1</a></li>
<li><a data-toggle="tab" id="spotlight" href="#" data-hvalue="menu2">menu2</a></li>
</ul>
</div>
<div class="showroom" id="showroom"></div>
<script>
$('a#spotlight').click(function () {
$(this).each(function (){
if($(this).data('hvalue')=="menu1"){
$.getScript( "http://calebevans.me/projects/jcanvas/resources/jcanvas/jcanvas.min.js", function() {
alert('Load was performed.');
});
}
var temp = $(this).data('hvalue') + " #page";
$('#showroom').load(temp);
});
});
</div>
</script>
Удаленная страница имеет следующий код:
<div class="container-fluid" id="page">
<div class="row-fluid">
<button id="DrawItem">Draw Item</button>
<div id="canvases">
<canvas width="640" height="480"></canvas>
</div>
</div>
</div>
Сначала я помещаю этот фрагмент на удаленную страницу: $ (document).ready(function() {$ ('a # DrawItem)). Click (function() {$ ("canvas"). DrawArc ({fillStyle: "черный", x: 100, y: 100, radius: 50});});}); Но это не сработает. Я помещаю холст и скрипт jcanvas.min.js на одну страницу, и все работает. Если я попытаюсь загрузить холст с удаленной страницы, это не сработает.
Вы не можете назначить обработчик события элементу, как вы пробовали, поскольку он не существует в то время. Вместо этого вы можете прикрепить его к контейнеру, подобному этому...
$(document).ready(function() {
$("#showroom").on("click", "#DrawItem", function(){
$("canvas").drawArc({
fillStyle: "black",
x: 100, y: 100,
radius: 50
});
});
});
Это зафиксирует события click на #showroom
и запустит обработчик событий, если щелчок произошел из #DrawItem
. Это мероприятие, и вы можете подробнее узнать об этом здесь...
#showroom
, поэтому нет элемента для присоединения обработчика событий. Вместо этого вы можете изменить его на $(document)
. Просто лучше прикрепить обработчик к ближайшему статическому элементу.
.js
содержит HTML ??