프로젝트 용 제어판을 개발 중이며 일부 코드와 충돌이 있습니다. 나는 모든 링크가 요청 된 페이지의 내용을 DIV에 삽입 할 수 있도록 일부 jQuery를 실행 중이다. 이 코드는 index.php 페이지에 있습니다. 그래서 어떤 페이지가 먼저 실행될 것입니다. 실제로 색인에서 벗어나지 않습니다.jQuery - ".load"함수가 호출 될 때마다 jQuery 스크립트를 실행 하시겠습니까?
$('a').live("click",function(){
var external = $(this).attr('class');
if (external == "externalLink") {
return true;
}
var page = $(this).attr('href');
if (!(page == "#") && (page)) {
$("#loading").fadeToggle("fast", "linear");
$("#split-view-right #content").load(page, function(){
var parentHeader = $("#split-view-right #content #parentHeader").html();
$("#split-view-right #header").html(parentHeader);
$("#loading").fadeToggle("fast", "linear");
});
}
return false;
});
#header에는 일부 버튼을 포함하여 몇 가지 코드가 들어 있습니다. 그 중 일부는 페이지에 링크 만하면 좋지만 스크립트를 실행해야하는 경우도 있습니다. 이 페이지 중 하나에서 실행할 스크립트를 정의하려고하면 '.live'로 실행하지 않으면 단추를 찾지 못합니다. 그 문제는 라이브 스크립트를 실행 한 후에 다른 페이지로 이동하려고 할 때 하이퍼 링크를 무시하고 해당 코드를 다시 실행한다는 것입니다. 실행할 코드 샘플을 보냅니다. (더 나은 솔루션이없는 한) 나는 시도하고 싶으면 무엇
는$(function() {
$("#headerbutton").live('click', function() {
$("#loading").fadeToggle("fast", "linear");
var title = $("input#title").val();
var partnum = $("input#partnum").val();
var descript = $("textarea#descript").val();
var startprice = $("input#startprice").val();
var minprice = $("input#minprice").val();
var domship = $("input#domship").val();
var intship = $("input#intship").val();
var startdate = $("input#startdate").val();
var droprate = $("input#droprate").val();
var dataString = 'title='+title+'&partnum='+partnum+'&descript='+descript+'&startprice='+startprice+'&minprice='+minprice+'&domship='+domship+'&intship='+intship+'&startdate='+startdate+'&droprate='+droprate;
$.post("savenewproduct.php",
{ "title": title, "partnum": partnum, "descript": descript, "startprice": startprice, "minprice": minprice, "domship": domship, "intship": intship, "startdate": startdate, "droprate": droprate },
function(postdata){
$("#split-view-right #content").load('upload_images.php?id=' + postdata.newID, function(){
var parentHeader = $("#split-view-right #content #parentHeader").html();
$("#split-view-right #header").html(parentHeader);
$("#loading").fadeToggle("fast", "linear");
});
}, "json");
return false;
});
});
그렇게 나는 '.load'를 실행할 때마다, 나는 상쇄하기 위해 '.die'스크립트를 실행할 수 있도록하는 것입니다 해당 페이지의 이전 라이브 코드.
아이디어가 있으십니까?
내가 그 일을 할 때 어떤 이유로 작동하지 않았습니다. 나는 그것을 클릭 한 다음에 실행할 첫 번째 작업으로 설정합니다.이 작업은 저에게 효과적입니다.나는 매번 그 비트를 넣는 것을 기억해야 할 것입니다. – Devin
그래도 그렇게하면'.load()'호출이 실패하더라도'.die()'가 발생하기 때문에이를 명심하십시오. : D –
괜찮습니다. 그것은 우리가 만든 웹 사이트에 내부적으로 사용되는 제어판입니다. 실패하면 왼쪽에있는 제품 탭을 클릭하면 단추가있는 곳으로 이동합니다. – Devin