0

我正在使用 jQuery UI 插件来拖放我的对象,但我有一个问题。我的 html 源代码是这样的:

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

现在,我想使用 helper 拖动上面的 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>

但不工作。

感谢您的帮助。

4

1 回答 1

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为每个可拖动元素使用不同的图像地址进行调用,在这种情况下,上述方法将不起作用。但是无论如何,您都不应该使用辅助函数来执行此操作,因为我很确定它只是为了包含设置您正在创建的所有可拖动元素的代码。

希望这可以帮助,

詹姆士

于 2012-04-11T11:55:46.290 回答