Domanda

Ho questa riga di codice nella mia vista usando la griglia Telerik:

      columns.Bound(o => o.URI).Width(10).Sortable(false)
                .ClientTemplate("<A class='btnGrid' id=source<#= ID #> onclick=GridSelection.addItem('<#= ID #>') >Add</A>").Title("").Width(50);

i codici JS di GridSelection Aditem e Disabilited Functions:

  GridSelection = {
      addItem: function (value) {

         var anchorOption = $("a[id=source" + value + "]");

         anchorOption.click(function (e) { // variable name changed from "event"
               e.preventDefault();
               return false;    // as suggested by mr. Hamdi
               });

         anchorOption.fadeTo("slow", .5);

         GridSelection.disableSelected(anchorOption, true);

         var data = $("#GridSource").data('tGrid').data;
         var selectedObject;
         for (var item in data) {
            if (data[item].ID == value) {
               selectedObject = data[item];
               break;
            }
         }

          var grid = $("#GridSelected").data('tGrid');
          var newData = $("#GridSelected").data('tGrid').dataSource._data;
          newData.push(selectedObject);
          grid.dataBind(newData);
          grid.sort("");
          anchorOption.fadeTo("slow", .5);
      },

      disableSelected: function (element, disable) {
              //false on IEs 6, 7 and 8
              if (!$.support.leadingWhitespace) {
                  if (disable) {
                      $(element).attr('disabled', 'disabled');
                  } else {
                      $(element).removeAttr('disabled');
                  }
              }
     },
         // other GridSelection subfunctions here...

Dato che eseguo l'app Web MVC3 in IE, funziona bene a causa della funzione GridSelection.Disableslected, ma in Cromo e Mozilla Firefox, il event.preventDefault(); non funziona. Il collegamento di ancoraggio aggiunge ancora l'elemento dati anche dopo che l'utente lo ha già aggiunto lì.

Va bene avere il preventDefault metodo all'interno del GridSelection.addItemfunzione che veniva prevenuta?

Quale attributo viene impedito da preventDefault , è il Href o è il al clic?

Cosa c'è di sbagliato in questo? Come posso correggere questo bug? Chiunque possa aiutare?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top