 
     evt.preventDefault()
     evt.stopImmediatePropagation()
+    return
+
+  prevent_page_scroll: (evt) ->
+    delta = evt.originalEvent.wheelDelta || -evt.originalEvent.detail
+
+    if (delta < 0 and @$dropdown.$list[0].scrollHeight - @$dropdown.scrollTop() == @$dropdown.innerHeight()) or (delta > 0 and @$dropdown.scrollTop() == 0)
+      evt.preventDefault()
+
     return
 
   keydown: (evt) ->


    @$container.removeClass("opened")
    @$dropdown.removeClass("opened")
    @$dropdown.unbind "mouseover mousedown"
    @$dropdown.remove()
    @opened = false



    @$dropdown.bind "mouseover", "li.chosen-option", (evt) => @dropdown_mouseover(evt)
    @$dropdown.bind "mousedown", "li.chosen-option", (evt) => @dropdown_mousedown(evt)
    @$dropdown.bind "mousewheel DOMMouseScroll", (evt) => @prevent_page_scroll(evt)

    @$container.addClass("opened")
    @$dropdown.addClass("opened")
