Ниже приведена проблема и код:
Я нажимаю на якорь, для которого уже установлен href
.
Шаг 1, после привязки fileMove
щелчок, я запрещаю запускать оригинал href
, потому что я открываю всплывающее окно для пользователя, чтобы щелкнуть что-нибудь и предоставить некоторую информацию.
$('#fileMove').click(function(e) {
alert($('#fileMove').attr('href'));
e.preventDefault(); //prevent original href
showdevDialog(); //dialog popup call
});
function showdevDialog() {
$('#JQueryFTD_Demo').dialog(); //dialog with div JQueryFTD_Demo
}
// this will be in document.ready
$('#JQueryFTD_Demo').fileTree({
root: 'D:\\Test',
script: '../jqueryFileTree.jsp',
expandSpeed: 1000,
collapseSpeed: 1000,
multiFolder: true,
loadMessage: 'Please Wait While Loading...'
}, function(file) {
//alert(file);
}, function(dir){
moveFileToFolder(dir); //once user selects a folder passing
//it to function
});
Эта функция скрывает всплывающее окно и затем создает новый href
, используя имя папки, затем связывает событие щелчка.
function moveFileToFolder(dir) {
$('#JQueryFTD_Demo').hide();
$('#JQueryFTD_Demo').dialog('close');
var _href = $('#fileMove').attr("href");
$('#fileMove').attr("href", _href + '&moveto=' + dir);
alert($('#fileMove').attr('href'));
$('#fileMove').unbind('click').click();
//$('#fileMove').attr('href')
//alert("Inside func.. " + dir);
}
Но событие click снова вызывает $('#fileMove').click()
, в котором есть preventDefault
, и ничего не происходит.
Как мне обойти эту проблему?
Любая помощь приветствуется.