SWF上传选项button_cursor不起作用



我正在使用swfupload插件(http://demo.swfupload.org/Documentation/)上传多个文件。我定义了以下 swfupload 设置对象。一切正常,除了光标没有更改为"手"形式。这是代码:

var initialize_swfupload_for_image = function () {
if ($('#image-attach').length == 0){
  return;
}
var url = $('#image-attach').data('url');
var params = $('#image-attach').data('params');
var buttonStyle = '.image-link {color: #FFF' +
                ';text-align: center'+
                ';} ' +
                '.image-link:hover {color: #0FF' +
                ';} ';
var settings = {
  upload_url:url,
  flash_url: "<%= asset_path('swfupload/swfupload.swf') %>",
  flash9_url: "<%= asset_path('swfupload/swfupload_fp9.swf') %>",
  http_success:[ 200, 201, 204 ],
  file_post_name:"file",
  file_types: "*.jpg; *.gif; *.png; *.jpeg",
  file_upload_limit:1,
  file_queue_limit:0,
  file_size_limit:"10 MB",
  prevent_swf_caching:false,
  custom_settings:{
    progressTarget:"divImageProgressContainer",
    cancelButtonId:"btnImageCancel"
  },
  button_placeholder_id:"image-attach",
  button_text: "<span class='image-link'>Edit Photo</span>",
  button_text_style: buttonStyle,
  button_width: 90,
  button_height: 20,
  button_cursor:SWFUpload.CURSOR.HAND,
  button_window_mode:SWFUpload.WINDOW_MODE.TRANSPARENT,
  button_action:SWFUpload.BUTTON_ACTION.SELECT_FILE,
  file_queued_handler:fileQueued,
  file_queue_error_handler:fileQueueError,
  file_dialog_complete_handler:fileDialogComplete,
  upload_start_handler:uploadStartImage,
  upload_error_handler:uploadError,
  upload_progress_handler:uploadProgressImage,
  upload_success_handler:uploadSuccessImage,
  upload_complete_handler:uploadCompleteImage,
  queue_complete_handler:uploadCompleteImage,
  post_params:params
};
if (FlashDetect.versionAtLeast(9)) {
  swf_image = new SWFUpload(settings);
} else {
  //intentionally left blank
  //TODO: javascript fallback when swfupload doesn't work
}

任何关于光标在悬停在对象上时没有变化的见解都将非常有帮助。

我遇到了同样的问题。就我而言,罪魁祸首是我意外添加到button_widthbutton_height属性中的"px":button_width: "20px"

您的问题显然不是同一个问题,但它可能与您可能已将无效值传递给 SWFUpload 有关。

复制了您的代码,从自定义内容中清除后,我毫不费力地展示了(甚至没有更改任何内容)。以下是使用 swfupload.swf 2.2.0.1 和 swfupload.js 2.2.0 2009-03-25 测试的代码(请注意,swfupload.swf 和 swfupload.js 与 html 文件位于同一文件夹中):

<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>index</title>
    <script type="text/javascript" src="swfupload.js"></script>
    <script type="text/javascript" charset="utf-8">
    var init = function () {
    var settings = {
      upload_url:'url',
      flash_url: "swfupload.swf",
      http_success:[ 200, 201, 204 ],
      file_post_name:"file",
      file_types: "*.jpg; *.gif; *.png; *.jpeg",
      file_upload_limit:1,
      file_queue_limit:0,
      file_size_limit:"10 MB",
      prevent_swf_caching:false,
      custom_settings:{
        progressTarget:"divImageProgressContainer",
        cancelButtonId:"btnImageCancel"
      },
      button_placeholder_id:"image-attach",
      button_text: "<span class='image-link'>Edit Photo</span>",
      button_width: 90,
      button_height: 20,
      button_cursor:SWFUpload.CURSOR.HAND,
      button_window_mode:SWFUpload.WINDOW_MODE.TRANSPARENT,
      button_action:SWFUpload.BUTTON_ACTION.SELECT_FILE,
    };
      swf_image = new SWFUpload(settings);
  }
    </script>
</head>
<body id="index" onload="init()">
    <div style="width:100px;height:100px;background-color:blue">
    <div id="image-attach"></div>
    </div>
</body>
</html>

我的猜测仍然是 SWFUpload 不喜欢其中一个参数(例如<%asset的东西)。希望这无论如何都有帮助。

最新更新