Когда я запускаю app.js, он показывает ошибку & ldquo; TypeError: knex.select не является функцией & rdquo;

Когда-то мне нужно было это сделать, и единственное кросс-браузерное надежное решение, с которым я столкнулся, - это взломать работу. Я не самый большой поклонник таких решений, но это, безусловно, дает правильный результат снова и снова.

Идея состоит в том, что вы клонируете элемент, удаляете любую ограничительную ширину и проверяете, является ли клонированный элемент более широким, чем оригинал. Если это так, вы знаете, что это будет усечено.

Например, используя jQuery:

var $element = $('#element-to-test');
var $c = $element
           .clone()
           .css({display: 'inline', width: 'auto', visibility: 'hidden'})
           .appendTo('body');

if( $c.width() > $element.width() ) {
    // text was truncated. 
    // do what you need to do
}

$c.remove();

Я сделал jsFiddle, чтобы продемонстрировать это, http: // jsfiddle.net/cgzW8/2/

Вы даже можете создать свой собственный псевдо-селектор для jQuery:

$.expr[':'].truncated = function(obj) {
  var $this = $(obj);
  var $c = $this
             .clone()
             .css({display: 'inline', width: 'auto', visibility: 'hidden'})
             .appendTo('body');

  var c_width = $c.width();
  $c.remove();

  if ( c_width > $this.width() )
    return true;
  else
    return false;
};

Затем используйте его для поиска элементов

$truncated_elements = $('.my-selector:truncated');

Демонстрация: http://jsfiddle.net/cgzW8/293/

Надеюсь, это поможет, взломать, как есть.

0
задан Andiswamy Rajagopal 28 February 2019 в 07:20
поделиться

1 ответ

В комментариях (вы действительно должны обновить свой вопрос, чтобы отразить их), вы говорите, что определили knex с помощью:

const knex = require('knex');

Вы должны взглянуть на Инициализация библиотеки [116 ] параграф в разделе установки Node.js .

Он должен выглядеть следующим образом:

const knex = require('knex')({
  client: 'mysql',
  connection: {...}
});

Это означает, что knex должен быть результатом вызова функции , представленной require.

0
ответ дан Stock Overflaw 28 February 2019 в 07:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: