Я пытаюсь сделать таблицы столбцами, изменяемыми по размеру, используя protoype js, нашел решение с использованием jquery here, но как достичь того же, используя прототип js framework?Prototype js make table resizable column
Jquery:
var pressed = false;
var start = undefined;
var startX, startWidth;
$("table th").mousedown(function(e) {
start = $(this);
pressed = true;
startX = e.pageX;
startWidth = $(this).width();
$(start).addClass("resizing");
});
$(document).mousemove(function(e) {
if(pressed) {
$(start).width(startWidth+(e.pageX-startX));
}
});
$(document).mouseup(function() {
if(pressed) {
$(start).removeClass("resizing");
pressed = false;
}
});
Я попробовал то же самое в Prototype:
var pressed = false;
var start = undefined;
var startX, startWidth;
Event.observe($('t1'), "mousedown",function(event){
console.log('mousedown');
start = $(this);
pressed = true;
startX = Event.pointerX(event);
startWidth = $(event.srcElement).getWidth();
$(start).addClassName("resizing");
});
Event.observe($('t1'), "mousemove",function(event){
console.log('mousemove');
if(pressed) {
document.getElementById(start.id).style.width = ''+startWidth+(Event.pointerX(event)-startX)+'px';
}
});
Event.observe($('t1'), "mouseup",function(event){
console.log('mouseup');
if(pressed) {
$(start).removeClassName("resizing");
pressed = false;
}
});
ширина увеличивается, но не правильно. может ли кто-нибудь сказать, в чем проблема?
Спасибо за ваш ответ, попробовал ваше решение, получив 'Uncaught SyntaxError: missing) после списка аргументов' пожалуйста [смотрите на нем] (https://jsfiddle.net/hfe47ns6/6/) – Rembo
нашел проблему '(' один дополнительный был там, но он не работает, говоря «$$ (...).« Наблюдение »- это не функция« – Rembo
изменить «$$(). наблюдать ('mousedown' ....' to '$$() .invoke ('наблюдать', 'mousedown' .... ' –