PHP의 동적 테이블을 만들었습니다. 행의 모든 이미지에 ID의 특정 URL이 있습니다. 예를 들어ajax append는 javascript가 여러 번 실행되도록합니다.
:
사용자가이 이미지를 클릭하면, 그 동작을 실행한다. 이것은 잘 작동합니다.
두 번째 아약스에서는 이전 url로 colorbox를 다시로드해야합니다. 이것은 또한 작동하지만, 자바 스크립트가 다시로드 된 것 같다 (비록 새로운 값으로)?
$('#cboxLoadedContent img[alt="markmessage"]').live('click', function(){
var returnurl = "<?php echo $_SESSION['returnpage']; ?>";
var markurl = $(this).attr('id');
alert(markurl);
// Do the action
$.ajax({
method:'GET',
url: markurl,
cache:false
});
// Reload colorbox again with previous contenturl.
$.ajax({
type: 'GET',
url: returnurl,
dataType: 'html',
cache: true,
beforeSend: function() {
$('#cboxLoadedContent').empty();
$('#cboxLoadingGraphic').show();
},
complete: function() {
$('#cboxLoadingGraphic').hide();
},
success: function(data) {
$('#cboxLoadedContent').empty();
$('#cboxLoadedContent').append(data);
}
});
});
</script>
javascript를 다시 colorbox에 추가하지 못하게 할 방법이 있습니까? ...이 이후에 새로운 URL을 처리하기로했다,
자바 스크립트 비활성화 할 수 없습니다 ...
링크를 클릭 할 때 기본 동작을 방해합니까? 또한'live'는 더 이상 사용되지 않습니다. 대신에'on'을 사용하십시오. 비어있는 대신에 html을 사용하여 내용을 대체 할 수 있습니다. – Orangepill
내가 제안한대로 코드를 편집했지만 문제가 여전히 존재합니다. 생성 된 모든 이미지에 대해 클래스로 'markmessage'를 추가했습니다 ... '$ (document) .on ("클릭", "img.markmessage", function (e) { \t e.preventDefault(); ' – driesken
'.live'는 [deprecated] (http://api.jquery.com/live/)입니다. 대신'.on','one' 또는'.delegate'를 사용하십시오. – asifrc