2012-04-11 47 views
0

我使用jQuery UI插件拖放我的对象,但我有一个问题。 我的HTML源代码是这样的:如何在“jQuery Ui Draggable Helper”中调用函数参数?

<html> 
<body> 
    <div id="firstDiv">some thing is here</div> 
</body> 
</html> 

现在,我想拖动上面的DIV,使用帮手。我的代码是这样的:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#firsstDiv").draggable({helper:anImage}); 
}); 
function anImage() { 
    return '<img src="~/myImage.png" alt="" />'; 
} 
</script> 

好吧,这个代码是工作为好,但我想设置图像的地址,但是当我改变我的函数有一个参数,即不工作,O_O

我新代码是这样的:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#firsstDiv").draggable({helper:anImage($(this).text())}); 
}); 
function anImage(address) { 
    return '<img src="'+address+'" alt="" />'; 
} 
</script> 

但不工作。

感谢您的帮助。

+0

你想你的函数采取的地址作为参数?你能发布你试过的代码吗?什么不行? – 2012-04-11 11:43:39

+0

** ** – mhdrad 2012-04-11 11:48:15

回答

0

好的 - 你不能将一个参数传递给你的帮助函数。我很确定这就是问题所在。

解决这个问题的方法是从那里创建一个安装功能,然后调用您的anImage功能:

$(function(){ 
    $("#firsstDiv").draggable({ 
     helper: setup 
    }); 
}); 

// function to setup draggable DOM elements 
function setup() { 
    anImage("~/myImage.png"); 
    // ... do other setup things here too 
} 

function anImage(imageAddress) { 
    return '<img src="'+imageAddress+'" alt="" />'; 
} 

当然,除非你试图调用anImage用不同的图片地址为每个可拖动的元素,在这种情况下,上述不起作用。但是你不应该使用helper函数来做这件事,因为我敢肯定它只是为了包含代码来设置你正在创建的所有可拖动元素。

希望这有助于

詹姆斯

+0

好的,不错的作弊;)。但我有一个以上的div,这个地址不一样。像这样='helper:anImage(** $(this).text()**)' – mhdrad 2012-04-11 12:01:15

+0

这就是我在我的最终评论中的意思 - 你不应该使用setup方法来设置每个可拖动div的个别需求,它应该用来设置每个div的所有通用属性。你会想要做一些不同的事情来设置每个单独的div。 – 2012-04-11 12:06:17

相关问题