防止拖放字幕

时间:2014-08-28 22:27:28

标签: javascript

托管公司在其所有网站上加载一个允许拖放标签的脚本,但是它也会导致同一个body_home页面中的标题图像被拖放,我已经要求修复但我认为他们并不担心。 我被允许加载我自己的jquery,javascript,html,css到网站上做更改,但我不能阻止主机加载这个js文件,所以我该怎么扭转这个?这是js文件部分的片段,我认为这导致了这个问题。 我被允许加载自己的页脚和标题消息,所以无论如何我可以删除他们在这里做的事情,或者反转对字幕的影响吗?

我找不到从外面移除听众的方法。 他们在事件'domready'上使用了匿名函数。 javascript是否具有从匿名方法外部删除侦听器的功能

window.onload=function() {
   if (document.getElementById("body_home")) {
      set_up_double_click_events();
      if (document.getElementById("homepagetabs") && document.getElementById("tab2")) {
         new Sortables($('homepagetabs'), {
            onComplete: function() {
               var parent = this.element.parentNode;
               var saveIt = false;
               if (typeof currentTabOrder == "undefined") {
                  currentTabOrder = new Array();
                  for (var i = 0; i < parent.getChildren().length; i++) {
                     currentTabOrder[i] = i;
                  }
               }
               for (var i = 0; i < parent.getChildren().length; i++) {
                  var seqno = parent.getChildren()[i].id.substr("tab".length);
                  if (currentTabOrder[i] != seqno) {
                     saveIt = true;
                     currentTabOrder[i] = seqno;
                  }
               }
               if (saveIt) {
                  var url = window.location.protocol + "//" + window.location.host + "/" + year + "/save_setting?L=" + league_id + "&TITLE=TABORDER&VALUE=" + currentTabOrder.join();
                  makeHttpRequest(url);
               }
            }
         });
      }
      window.addEvent('domready', function() {
         new Sortables('.homepagemodule CAPTION', {
            clone: true,
            revert: true,
            opacity: 0.7,
            onStart: function() {
               dndMovingModule = this.element.parentNode.parentNode.id.toUpperCase();
            },
            onComplete: function() {
               dndDroppedOntoModule = this.element.parentNode.parentNode.id.toUpperCase();
               if (typeof dndMovingModule != "undefined" && typeof dndDroppedOntoModule != "undefined" && dndMovingModule != dndDroppedOntoModule) {
                  var url = window.location.protocol + "//" + window.location.host + "/" + year + "/save_setting?L=" + league_id + "&TITLE=MODULE&VALUE=" + dndMovingModule + "," + dndDroppedOntoModule;
                  // alert("calling: " + url);
                  makeHttpRequest(url);
                  setTimeout("window.location.reload();", 250);
               }
            }
         });
      });
   }
 }

2 个答案:

答案 0 :(得分:1)

$(document).ready(function() {
  $('#DIVID').on('mousedown', function(e) {
      return false;
  });
});

答案 1 :(得分:0)

我会在产生问题的所有图片上放置一个HTML class属性。显然,jQuery使用CSS样式选择器。请参阅以下示例。

$(function(){
  $('.ElementClass').mousedown(function(){
    return false;
  });
});

当您return false; onmousedown时,它会阻止大多数浏览器中的默认行为,即抓取图像,以便客户端可以将图像拖放到新选项卡或窗口中以使用他们的浏览器。