event.preventDefault() funktioniert nicht

habe ich diese Zeile von code in meine view mit dem Telerik Grid:

      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);

den GridSelection addItem und disableSelected Funktionen' JS-codes:

  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...

Als ich das MVC3 web app in Internet Explorer läuft es gut, weil der GridSelection.disableSelected Funktion, aber in Chrome und Mozilla Firefox, die event.preventDefault(); funktioniert nicht. Der Anker-link fügt noch die Daten posten, auch nachdem der Benutzer bereits Hinzugefügt, die es gibt.

Ist es OK, dass die preventDefault - Methode innerhalb der GridSelection.addItemFunktion, hinderte?

Welches Attribut wird verhindert durch die preventDefault ist es die href oder ist es die onclick?

Was falsch mit diesem?
Wie kann ich diesen Fehler beheben kann?
Wer kann helfen?

Wie sicher sind Sie, dass der click-handler selbst aufgerufen wird? Hat die anchorOption.fadeTo("slow", .5); Arbeit?
Das ist auch einer meiner Impulse. Ich habe hier eine Developer-Tools app, welches ich in meine app Debuggen. Ich habe Haltepunkte auf der code-Zeilen der Scripte zu wissen, ob es an diese Zeilen und es tut.
sehen Sie bitte meine zusätzlichen Fragen in meinem editierten post. Dank
Haben Sie überprüft, Fehler-Konsole in Mozilla ? Gibt es irgendwelche Fehler? Hinzufügen Sie können alert-Zeile vor e.preventDefault(); um sicherzustellen, dass die Funktion aufgerufen wird.
Haben Sie vergessen, hinzuzufügen Semikolon nach return false. Es sollte keine Fehler geben, aber einen Versuch Wert.

InformationsquelleAutor ideAvi | 2012-02-24

Schreibe einen Kommentar