What is the best way to determine the number of characters before and after the cursor in a contenteditable div?

Just starting out with javascript and trying to figure out how to count the number of characters before and after the caret position in a contenteditable div.

Is there a way to achieve this?

Your assistance would be greatly appreciated!

Answer №1

With the power of JavaScript and jQuery:

let text = $(".editable").html();
let parts = text.split("|");
let preTextLength = parts[0].length;
let postTextLength = parts[1].length;
alert(preTextLength);
alert(postTextLength);

This code snippet is designed for scenarios where there is a single caret in your DIV.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Updating the state across various components proves to be a challenge when relying on both the context API and higher order components

I have been working on updating the application state using the context API instead of using Redux, as I do not require all of its features and want to avoid prop drilling. With TypeScript, I created a global context and a higher-order component (HOC) wrap ...

Execute a function only once when scrolling

Is there a way to trigger a function only once on scroll event? I have been struggling to achieve this, despite trying different approaches like using .on(), setting a counter, and modifying the code inside/outside the window.scrollstop function. The fun ...

Upcoming topics - The Challenge of Staying Hydrated at Basecamp One

I have implemented a themes package for dark mode and light mode in my project. Despite doing the installation correctly as per the repository instructions, I am encountering an issue. My expected behavior for the project is: The webpage should initially ...

"Download content for offline viewing without the need to create a player object using shaka player

Class: shaka.offline.Storage This class includes a constructor. new Storage(player) Class: shaka.Player This class also has a constructor. new Player(video(non-null), opt_dependencyInjector(opt)) However, my goal is to save a video URL without a vide ...

What is the best way to set a checkbox to null instead of false using Angular?

I am currently developing a filtering system that allows users to select different parameters to filter through a list of items. For instance, the item list could be a collection of dishes with filters represented as checkboxes labeled as vegan, vegetaria ...

What is the best way to define a margin according to the size of the device being used

I am working on an angular/bootstrap web app and need to set a left margin of 40px on md, xl, lg devices and 0px on sm device. I attempted to create a spacer in styles.scss like this: $spacer: 1rem; .ml-6{ margin-left:($spacer*2.5); } Then in my HTML, ...

Dealing with interstitial advertisements on mobile devices: What is the best approach for handling zoom?

I am facing a challenge with displaying interstitial ads on mobile sites. Different publishers may have varying viewport settings and initial scales on their mobile sites, making it difficult to ensure that the ad appears correctly on all devices with the ...

Having trouble passing parameters from an HTML/JS form to a URL

As someone new to the realm of front-end development, I find myself tackling what appears to be a straightforward task. The challenge at hand involves taking a value entered by a user in an HTML/JS form and then adding that value to the end of a public se ...

jQuery AJAX Loading Image Delays

Seeking assistance in implementing a loading gif for an ajax call on one of my pages. Utilizing jQuery's ajax method, my current code is as follows: $.ajax({ type:'POST', data:{action:'yadayada',data:stuffToSend}, cach ...

Hold down for File Menu to appear

Can a long press be used for triggering file dialog? I came across an interesting discussion about Long Press in JavaScript, where they discuss how to trigger an event on a long press. However, this method may not work for triggering file input click in ...

What steps should I follow to update my React project while it is running on a server?

Currently, I have a react application deployed on a VPS digital-ocean server that my friend and I are collaborating on. Upon his latest code update, I used FileZilla to replace the modified files. However, even after restarting the apache server with the ...

Enter a socket.IO chat room upon accessing an Express route

Encountering difficulty when attempting to connect to a socket.IO room while accessing a specific route in my Express application. The current setup is as follows: app.js var express = require('express'); var app = express(); var http = requir ...

Correcting a hook being called outside of the function component's body

I created a custom ReactJS hook to manage specific mouse events, outlined below: const HealthcareServices = ({ filterToRemove, filters, onChange, onClear, selectedAmbulatoryCareFilterValue, shouldClear, }: Props): JSX.Element => { const cl ...

A guide on how to cycle through and modify key-value pairs using a Patch Request in MongoDB

I am working on configuring a patch request for the endpoint "/api/user?username=idHere". This patch request should accept a JSON body and update the user in MongoDB with the new key-value pairs. Currently, the line "{$set: {key: req.body[ ...

Is there a way to retrieve files stored on my hard drive within a webpage?

I have a large number of files stored on my hard drive, all following the same format, 2014.C1.012.012 - full name of the file. They each have unique numbers and names. I want to create a local webpage where I can organize these files into a table w ...

Using the Mongoose $or operator with a nested array in query conditions

Here are the schemas I am using: //ProjectModel const ProjectSchema: Schema = new Schema( owner: { type: Schema.Types.ObjectId, ref: "User" }, users: [{type: Schema.Types.ObjectId, ref: "ProjectUser", unique: true }] ); //Project Use ...

I am having trouble getting my getColor() method to correctly change colors based on the data provided

When using a datatable, there are two columns: status and priority. The STATUS LIST includes OPEN or CLOSED, while the PRIORITY LIST includes HIGH, MODERATE, and LOW. So, if the status is open, it should be displayed in red color; if closed, then in green. ...

Utilize State Management in React

My goal is to modify the product quantities when a user clicks on a button (Increment/decrement). However, there seems to be an issue with incrementing the quantity. Whenever I click on the increment button for the first item, it changes the quantity corre ...

Alternative to `require.context` when executing Jest

I'm facing a challenge while attempting to execute tests for my React application using Jest. The issue lies in the fact that my tests are failing due to an error indicating that require.context is not functioning properly. I am on the lookout for an ...

Creating a logo that scales seamlessly across different web browsers while maintaining responsiveness through

I am working on making this logo align perfectly with all screen resolutions and browsers, while ensuring it stays at the exact center (both vertically and horizontally) of the #container. If the resolution drops below 320px, I want the company name to dis ...